From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Morton Subject: Re: [PATCH 06/17] fs: icache lock lru/writeback lists Date: Wed, 29 Sep 2010 21:52:40 -0700 Message-ID: <20100929215240.feb118f3.akpm@linux-foundation.org> References: <1285762729-17928-1-git-send-email-david@fromorbit.com> <1285762729-17928-7-git-send-email-david@fromorbit.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org To: Dave Chinner Return-path: In-Reply-To: <1285762729-17928-7-git-send-email-david@fromorbit.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Wed, 29 Sep 2010 22:18:38 +1000 Dave Chinner wrote: > The inode moves between different lists protected by the inode_lock. Introduce > a new lock that protects all of the lists (dirty, unused, in use, etc) that the > inode will move around as it changes state. As this is mostly a list for > protecting the writeback lists, name it wb_inode_list_lock and nest all the > list manipulations in this lock inside the current inode_lock scope. All those spin_trylock()s are real ugly. They're unexplained in the changelog and unexplained in code comments. I'd suggest that each such site have a comment explaining why we're resorting to this.