From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleg Nesterov Subject: Re: [PATCH 4/4] change sb_writers to use percpu_rw_semaphore Date: Fri, 7 Aug 2015 21:54:01 +0200 Message-ID: <20150807195401.GA28529@redhat.com> References: <20150722211513.GA19986@redhat.com> <20150722211541.GA20017@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: "Paul E. McKenney" , Peter Zijlstra , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org To: Al Viro , Dave Chinner , Dave Hansen , Jan Kara Return-path: Content-Disposition: inline In-Reply-To: <20150722211541.GA20017@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On 07/22, Oleg Nesterov wrote: > > +static void sb_freeze_unlock(struct super_block *sb) > +{ > + int level; > + > + for (level = 0; level < SB_FREEZE_LEVELS; ++level) > + percpu_up_write(sb->s_writers.rw_sem + level); > } OK, this is not exactly right, see the fix below. Otherwise seems to work, but see another email I'll send in reply to 0/4. Oleg. --- a/fs/super.c +++ b/fs/super.c @@ -1237,7 +1237,7 @@ static void sb_freeze_unlock(struct super_block *sb) { int level; - for (level = 0; level < SB_FREEZE_LEVELS; ++level) + for (level = SB_FREEZE_LEVELS; --level >= 0; ) percpu_up_write(sb->s_writers.rw_sem + level); }