lkml.org 
[lkml]   [2006]   [Feb]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: msync() behaviour broken for MS_ASYNC, revert patch?
    Andrew Morton wrote:
    > Nick Piggin <nickpiggin@yahoo.com.au> wrote:

    >>But I've explained that they only matter for people using it in stupid ways.
    >>fsync also poses a performance problem for programs that call it after every
    >>write(2).
    >
    >
    > There's absolutely nothing stupid about
    >
    > *p = <expr>
    > msync(p, sizeof(*p), MS_ASYNC);
    >

    There really is if you're expecting a short time later to do

    *p = <expr2>

    and had no need for a MS_SYNC anywhere in the meantime.
    If you did have the need for MS_SYNC, then kicking off the IO
    ASAP is going to be more efficient.

    >>
    >>Is a more efficient implementation know-problematic?
    >
    >
    > It's less efficient for some things. A lot.
    >

    But only for stupid things, right?

    >
    >>What applications did
    >>you observe problems with, can you remember?
    >
    >
    > Linus has some application which was doing the above. It ran extremely
    > slowly, so we changed MS_ASYNC (ie: made it "more efficient"...)

    Can he remember what it is? It sounds like it is broken.

    OTOH, it could have been blocking on pages already under writeout
    but a smarter implementation could ignore those (at the cost of
    worse IO efficiency in these rare cases).

    --
    SUSE Labs, Novell Inc.
    Send instant messages to your online friends http://au.messenger.yahoo.com

    -
    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: 2006-02-10 07:05    [W:3.047 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site