lkml.org 
[lkml]   [2010]   [Nov]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [patch 15/28] fs: scale inode alias list
    From
    On Tue, Nov 16, 2010 at 6:09 AM, Nick Piggin <npiggin@kernel.dk> wrote:

    > @@ -290,13 +300,18 @@ void dput(struct dentry *dentry)
    >                         * want to reduce dcache_lock anyway so this will
    >                         * get improved.
    >                         */
    > +drop1:
    >                        spin_unlock(&dentry->d_lock);
    >                        goto repeat;
    >                }
    > -               if (parent && !spin_trylock(&parent->d_lock)) {
    > -                       spin_unlock(&dentry->d_lock);
    > +               if (!spin_trylock(&dcache_inode_lock)) {
    > +drop2:
    >                        spin_unlock(&dcache_lock);
    > -                       goto repeat;
    > +                       goto drop1;
    > +               }
    > +               if (parent && !spin_trylock(&parent->d_lock)) {
    > +                       spin_unlock(&dcache_inode_lock);
    > +                       goto drop2;
    >                }
    >        }
    >        dentry->d_count--;

    Another ugh moment. But it gets better in patches 18 and 20.
    --
    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-11-19 20:45    [W:0.036 / U:29.964 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site