Re: performance of O_DIRECT on md/lvm

Andi Kleen (ak@suse.de)
20 Jan 2002 23:11:35 +0100


arjan@fenrus.demon.nl writes:

> In article <p734rlg90ga.fsf@oldwotan.suse.de> you wrote:
>
> > I think an optional readahead mode for O_DIRECT would be useful.
>
> I disagree. O_DIRECT says "do not cache. period. I know what I'm doing"
> and the kernel should respect that imho. After all we have sys_readahead for
> the other part...

Problem with sys_readahead is that it doesn't work for big IO sizes.
e.g. you read in big blocks. You have to do readahead(next block);
read(directfd, ..., big-block);
The readahead comes to early in this case; it would be better if it is
done in the middle of read of big-block based on the request size.
Otherwise you risk additional seeks when you overflow the 'read window',
which is all to easy this way.

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/