lkml.org 
[lkml]   [2010]   [Jun]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCHv5 04/16] VFS: add memory barrier to sb_mark_clean and sb_mark_dirty
    From
    Date
    On Sun, 2010-06-06 at 17:50 +0300, Artem Bityutskiy wrote:
    > From: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
    >
    > The proper way for file-systems to synchronize the superblock
    > should be as follows:
    >
    > 1. when modifying the SB, first modify it, then mark it as dirty;
    > 2. when synchronizing the SB, first mark as clean, then start
    > synchronizing.
    >
    > And to make ensure the order, we need memory barriers in 'sb_mark_clean()'
    > and 'sb_mark_dirty()'.

    I believe this stuff is a separate story, and should be handled
    separately. I'll keep this separately from the 'sync_supers()' wakes up
    optimization.

    I actually now cannot prove myself whether these smp_mb()'s I added in
    this patch make sense or not, and whether the races in FSes I was trying
    to address can be addressed without spinlocks. Really dunno - but I will
    keep trying to get better understanding. Reading
    Documentation/memory-barriers.txt and some McKenny's docs only did not
    help so far :-)

    --
    Best Regards,
    Artem Bityutskiy (Артём Битюцкий)

    --
    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: 2010-06-09 18:41    [W:0.027 / U:3.272 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site