Re: [PATCH 2.6.11-rc2] ide: merge do_rw_taskfile() and flagged_taskfile()into do_taskfile()
From: Tejun Heo
Date: Sat Feb 05 2005 - 22:35:48 EST
Hello,
Bartlomiej Zolnierkiewicz wrote:
On Sun, 6 Feb 2005 11:13:31 +0900, Tejun Heo <tj@xxxxxxxxxxx> wrote:
Hello, Bartlomiej.
Hi,
This is a new version of ide_do_taskfile.patch. Compared to the
original do_rw_task(), only one more 'if' is used in the hot path, so
I think the performance issue can be ignored now. Also, there's no
userland visible change with this patch. Everything should work just
as it did with do_rw_taskfile()/flagged_taskfile().
do_taskfile() is different from do_rw_taskfile() in that
Is there any gain in changing name to do_taskfile()?
Well, I was just thinking
do_rw_taskfile + (do_)flagged_taskfile -> do_taskfile.
If you like do_rw_taskfile better, I guess that's okay too. :-)
- It uses task->data_phase to determine whether it's a DMA command
or not.
this is user-space visible change
(it is right thing to do, I just wanted to point the fact)
Oops, I forgot that. Still, it was kind of weird before. If any of
tf_{in|out}_flags is set, flagged_taskfile() is called and ->data_phase
was used, but, if none of the flags was set, do_rw_taskfile() was called
and the command is used to determine the same thing. But, yeah, it's
user-visible.
do_taskfile() is different from flagged_taskfile() in that
- No (TASKFILE_MULTI_IN && !mult_count) check. ide_taskfile_ioctl()
checks the same thing, so it doesn't change anything.
The check may be needed. AFAIR drive->mult_count may change
before our taskfile request is started.
Okay, I'll resurrect that test.
- No task->tf_out_flags handling. ide_end_drive_cmd() ignores it
anyway, so, again, it doesn't change anything.
I guess you mean ->tf_in_flags?
Yes.
So, what do you think?
This patch looks much better but could you move writing taskfile
registers to separate helpers (one for non-flagged and one for flagged)?
Probably splitting non-flagged taskfile load helper off do_rw_taskfile()
should be done in separate patch. We can then use this helper in
ide-disk.c for __ide_do_rw_taskfile() (we can't do direct conversion
to do_rw_taskfile() yet for various reasons).
Sure, I'll do it now.
Thanks.
--
tejun
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/