From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753747AbbFXUVg (ORCPT ); Wed, 24 Jun 2015 16:21:36 -0400 Received: from www.sr71.net ([198.145.64.142]:40914 "EHLO blackbird.sr71.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932101AbbFXUV2 (ORCPT ); Wed, 24 Jun 2015 16:21:28 -0400 Message-ID: <558B1146.5050106@sr71.net> Date: Wed, 24 Jun 2015 13:21:26 -0700 From: Dave Hansen User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: Jan Kara CC: viro@zeniv.linux.org.uk, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, paulmck@linux.vnet.ibm.com, tim.c.chen@linux.intel.com, ak@linux.intel.com Subject: Re: [RFC][PATCH 1/2] fs: use RCU for free_super() vs. __sb_start_write() References: <20150619223223.10B658AD@viggo.jf.intel.com> <20150623110933.GE2427@quack.suse.cz> In-Reply-To: <20150623110933.GE2427@quack.suse.cz> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 06/23/2015 04:09 AM, Jan Kara wrote: >> @@ -1340,7 +1344,7 @@ int freeze_super(struct super_block *sb) >> printk(KERN_ERR >> "VFS:Filesystem freeze failed\n"); >> sb->s_writers.frozen = SB_UNFROZEN; >> - smp_wmb(); >> + synchronize_rcu(); > > Do we really need synchronize_rcu() here? We just need to make sure write > to sb->s_writers.frozen happens before we start waking processes... I don't think it is necessary. We only need to be concerned in practice if someone could be inside a critical section when we are executing this. I *think* the only case that we have that really matters will be taken care of by the _first_ synchronize_rcu(). It's definitely worth adding a comment.