From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: Re: [rfc][patch] fs: turn iprune_mutex into rwsem Date: Sat, 15 Aug 2009 15:57:42 -0400 Message-ID: <20090815195742.GA14842@infradead.org> References: <20090814152504.GA19195@wotan.suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, Jan Kara , Andrew Morton To: Nick Piggin Return-path: Received: from bombadil.infradead.org ([18.85.46.34]:58489 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751754AbZHOT5n (ORCPT ); Sat, 15 Aug 2009 15:57:43 -0400 Content-Disposition: inline In-Reply-To: <20090814152504.GA19195@wotan.suse.de> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Fri, Aug 14, 2009 at 05:25:05PM +0200, Nick Piggin wrote: > Now I think the main problem is having the filesystem block (and do IO > in inode reclaim. The problem is that this doesn't get accounted well > and penalizes a random allocator with a big latency spike caused by > work generated from elsewhere. > > I think the best idea would be to avoid this. By design if possible, > or by deferring the hard work to an asynchronous context. If the latter, > then the fs would probably want to throttle creation of new work with > queue size of the deferred work, but let's not get into those details. I don't really see a good way to avoid this. For any filesystem that does some sort of preallocations we need to drop them in ->clear_inode.