Re: O_DIRECT question

From: Viktor
Date: Fri Jan 12 2007 - 12:03:44 EST


Linus Torvalds wrote:
>>>>O_DIRECT is still crazily racy versus pagecache operations.
>>>
>>>Yes. O_DIRECT is really fundamentally broken. There's just no way to fix
>>>it sanely.
>>
>>How about aliasing O_DIRECT to POSIX_FADV_NOREUSE (sortof) ?
>
>
> That is what I think some users could do. If the main issue with O_DIRECT
> is the page cache allocations, if we instead had better (read: "any")
> support for POSIX_FADV_NOREUSE, one class of reasons O_DIRECT usage would
> just go away.
>
> See also the patch that Roy Huang posted about another approach to the
> same problem: just limiting page cache usage explicitly.
>
> That's not the _only_ issue with O_DIRECT, though. It's one big one, but
> people like to think that the memory copy makes a difference when you do
> IO too (I think it's likely pretty debatable in real life, but I'm totally
> certain you can benchmark it, probably even pretty easily especially if
> you have fairly studly IO capabilities and a CPU that isn't quite as
> studly).
>
> So POSIX_FADV_NOREUSE kind of support is one _part_ of the O_DIRECT
> picture, and depending on your problems (in this case, the embedded world)
> it may even be the *biggest* part. But it's not the whole picture.

>From 2.6.19 sources it looks like POSIX_FADV_NOREUSE is no-op there

> Linus

-
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/