Re: O_DIRECT question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Wed, 10 Jan 2007, Linus Torvalds wrote:
> 
> So don't use O_DIRECT. Use things like madvise() and posix_fadvise() 
> instead. 

Side note: the only reason O_DIRECT exists is because database people are 
too used to it, because other OS's haven't had enough taste to tell them 
to do it right, so they've historically hacked their OS to get out of the 
way.

As a result, our madvise and/or posix_fadvise interfaces may not be all 
that strong, because people sadly don't use them that much. It's a sad 
example of a totally broken interface (O_DIRECT) resulting in better 
interfaces not getting used, and then not getting as much development 
effort put into them.

So O_DIRECT not only is a total disaster from a design standpoint (just 
look at all the crap it results in), it also indirectly has hurt better 
interfaces. For example, POSIX_FADV_NOREUSE (which _could_ be a useful and 
clean interface to make sure we don't pollute memory unnecessarily with 
cached pages after they are all done) ends up being a no-op ;/

Sad. And it's one of those self-fulfilling prophecies. Still, I hope some 
day we can just rip the damn disaster out.

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

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux