Messages in this thread | | | Date | Fri, 19 Nov 2010 11:41:50 -0800 | Subject | Re: [patch 15/28] fs: scale inode alias list | From | Tim Pepper <> |
| |
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/
| |