From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757991Ab2EGX5v (ORCPT ); Mon, 7 May 2012 19:57:51 -0400 Received: from e35.co.us.ibm.com ([32.97.110.153]:35864 "EHLO e35.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757842Ab2EGX5u (ORCPT ); Mon, 7 May 2012 19:57:50 -0400 Date: Mon, 7 May 2012 16:56:47 -0700 From: "Paul E. McKenney" To: Al Viro Cc: "Eric W. Biederman" , Andrew Morton , Oleg Nesterov , LKML , Pavel Emelyanov , Cyrill Gorcunov , Louis Rilling , Mike Galbraith , Christoph Hellwig , linux-fsdevel@vger.kernel.org Subject: Re: [PATCH] vfs: Speed up deactivate_super for non-modular filesystems Message-ID: <20120507235647.GH21152@linux.vnet.ibm.com> Reply-To: paulmck@linux.vnet.ibm.com References: <1336142995.25479.49.camel@marge.simpson.net> <1336150643.7502.4.camel@marge.simpson.net> <1336197362.7346.9.camel@marge.simpson.net> <1336198093.7346.11.camel@marge.simpson.net> <1336201977.7346.22.camel@marge.simpson.net> <87r4uv64oj.fsf_-_@xmission.com> <20120507221706.GI22082@ZenIV.linux.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120507221706.GI22082@ZenIV.linux.org.uk> User-Agent: Mutt/1.5.21 (2010-09-15) X-Content-Scanned: Fidelis XPS MAILER x-cbid: 12050723-6148-0000-0000-000005A555B6 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, May 07, 2012 at 11:17:06PM +0100, Al Viro wrote: > On Mon, May 07, 2012 at 02:51:08PM -0700, Eric W. Biederman wrote: > > > /proc and similar non-modular filesystems do not need a rcu_barrier > > in deactivate_locked_super. Being non-modular there is no danger > > of the rcu callback running after the module is unloaded. > > There's more than just a module unload there, though - actual freeing > struct super_block also happens past that rcu_barrier()... Is there anything in there for which synchronous operation is required? If not, one approach would be to drop the rcu_barrier() calls to a workqueue or something similar. Thanx, Paul