lkml.org 
[lkml]   [2006]   [Jan]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: smp race fix between invalidate_inode_pages* and do_no_page
    Andrea Arcangeli wrote:
    > On Fri, Dec 16, 2005 at 02:51:47PM +0100, Andrea Arcangeli wrote:
    >
    >>There was a minor buglet in the previous patch an update is here:
    >>
    >>http://www.kernel.org/pub/linux/kernel/people/andrea/patches/v2.6/2.6.15-rc5/seqschedlock-2
    >
    >
    > JFYI: I got a few hours ago positive confirmation of the fix from the
    > customer that was capable of reproducing this. I guess this is good
    > enough for production use (it's at the very least certainly better than
    > the previous code and it's guaranteed not to hurt the scalability of the
    > fast path in smp, so it's the least intrusive fix I could imagine).
    >
    > So we can start to think if we should using this new primitive I
    > created, and if to replace the yield() with a proper waitqueue (and
    > how). Or if to take the risk of hitting a bit of scalability in the
    > nopage page faults of processes, by rewriting the fix with a
    > find_lock_page in the do_no_page handler, that would avoid the need of
    > my new locking primitive.
    >
    > Comments welcome thanks!

    I'd be inclined to think a lock_page is not a big SMP scalability
    problem because the struct page's cacheline(s) will be written to
    several times in the process of refcounting anyway. Such a workload
    would also be running into tree_lock as well.

    Not that I have done any measurements.

    --
    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-01-11 05:11    [W:0.021 / U:124.832 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site