Re: Direct io on block device has performance regression on 2.6.xkernel

From: Andrew Morton
Date: Thu Mar 10 2005 - 15:48:23 EST

"Chen, Kenneth W" <kenneth.w.chen@xxxxxxxxx> wrote:
> Losing 6% just from Linux kernel is a huge deal for this type of benchmark.
> People work for days to implement features which might give sub percentage
> gain. Making Software run faster is not easy, but making software run slower
> apparently is a fairly easy task.


> > Fine-grained alignment is probably too hard, and it should fall back to
> > __blockdev_direct_IO().
> >
> > Does it do the right thing with a request which is non-page-aligned, but
> > 512-byte aligned?
> >
> > readv and writev?
> >
> That's why direct_io_worker() is slower. It does everything and handles
> every possible usage scenarios out there. I hope making the function fatter
> is not in the plan.

We just cannot make a change like this if it does not support readv and
writev well, and if it does not support down-to-512-byte size and
alignment. It will break applications.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at