Hello,
Bartlomiej Zolnierkiewicz wrote:
On Sun, 6 Feb 2005 11:13:31 +0900, Tejun Heo <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/