Re: open(O_DIRECT) on a tmpfs?
From: Bill Davidsen
Date: Thu Jan 04 2007 - 13:11:23 EST
Peter Staubach wrote:
Hugh Dickins wrote:
On Thu, 4 Jan 2007, Bill Davidsen wrote:
In many cases the use of O_DIRECT is purely to avoid impact on cache
used by
other applications. An application which writes a large quantity of
data will
have less impact on other applications by using O_DIRECT, assuming
that the
data will not be read from cache due to application pattern or the
data being
much larger than physical memory.
I see that as a good argument _not_ to allow O_DIRECT on tmpfs,
which inevitably impacts cache, even if O_DIRECT were requested.
But I'd also expect any app requesting O_DIRECT in that way, as a caring
citizen, to fall back to going without O_DIRECT when it's not supported.
I suppose that one could also argue that the backing store for tmpfs
is the memory itself and thus, O_DIRECT could or should be supported.
I suspect that many applications don't try to distinguish an open error
beyond pass/fail. If the application actually tried to correct errors,
like creating missing directories, it might, but if the error is going
to be reported to the user and treated as fatal there's probably no
logic to tell "can't do it" from "could if you asked the right way."
I always thought the difference between Linux and Windows was the "big
brother" attitude. If someone wants to use O_DIRECT and tmpfs, and the
system can allow it, why have code to block it because someone thinks
they know better how the users should do things.
--
bill davidsen <davidsen@xxxxxxx>
CTO TMR Associates, Inc
Doing interesting things with small computers since 1979
-
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/