lkml.org 
[lkml]   [2007]   [Jan]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: O_DIRECT question
    Linus Torvalds wrote:
    >
    > On Thu, 11 Jan 2007, Aubrey wrote:
    >
    >>Now, my question is, is there a existing way to mount a filesystem
    >>with O_DIRECT flag? so that I don't need to change anything in my
    >>system. If there is no option so far, What is the right way to achieve
    >>my purpose?
    >
    >
    > The right way to do it is to just not use O_DIRECT.
    >
    > The whole notion of "direct IO" is totally braindamaged. Just say no.
    >
    > This is your brain: O
    > This is your brain on O_DIRECT: .
    >
    > Any questions?
    >
    > I should have fought back harder. There really is no valid reason for EVER
    > using O_DIRECT. You need a buffer whatever IO you do, and it might as well
    > be the page cache. There are better ways to control the page cache than
    > play games and think that a page cache isn't necessary.
    >
    > So don't use O_DIRECT. Use things like madvise() and posix_fadvise()
    > instead.

    OK, madvise() used with mmap'ed file allows to have reads from a file
    with zero-copy between kernel/user buffers and don't pollute cache
    memory unnecessarily. But how about writes? How is to do zero-copy
    writes to a file and don't pollute cache memory without using O_DIRECT?
    Do I miss the appropriate interface?

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

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

    \
     
     \ /
      Last update: 2007-01-11 13:53    [W:0.022 / U:1.024 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site