Re: mmap vs. O_DIRECT

Robert Love
2004-11-10T21:16:30Z

On Tue, 2004-11-09 at 19:05 -0500, Bill Davidsen wrote:
> I have an application which does a lot of mmap to process its data. The
> huge waitio time makes me think that mmap isn't doing direct i/o even
> when things are alligned. Before I start poking the code, is there a
> reason why direct is not default for i/o in page-size transfers on page
> size file offsets? I don't have source code, but the parameters of the
> mmap all seem to satisfy the allignment requirements.
>
> I realize there may be a reason for forcing the i/o through kernel
> buffers, or for not taking advantage of doing direct i/o whenever
> possible, it just doesn't jump out at me.

Direct I/O (O_DIRECT) will almost assuredly increase I/O wait and
degrade I/O performance, not improve it.

I don't think direct I/O is what you want and I am sure that we don't
want aligned mmaps to not go through the page cache and be synchronous.

Robert Love