[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150530204900.GA17772@redhat.com>
Date: Sat, 30 May 2015 22:49:00 +0200
From: Oleg Nesterov <oleg@...hat.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Peter Zijlstra <peterz@...radead.org>,
Paul McKenney <paulmck@...ux.vnet.ibm.com>,
Tejun Heo <tj@...nel.org>, Ingo Molnar <mingo@...hat.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
der.herr@...r.at, Davidlohr Bueso <dave@...olabs.net>
Subject: Re: [RFC][PATCH 5/5] percpu-rwsem: Optimize readers and reduce
global impact
On 05/29, Linus Torvalds wrote:
>
> On Fri, May 29, 2015 at 1:09 PM, Oleg Nesterov <oleg@...hat.com> wrote:
> >
> > Doesn't it need mb() before "state = readers_slow" to ensure
> > "release" semantics?
>
> Please don't do any mb() at all. Just do smp_store_release() if
> release semantics is what you want.
Agreed!
> (And try to make sure to pair it with smp_load_acquire() on the other
> side for things to make sense)
Hmm. I think you are right...
__percpu_down_read() lacks another mb() after the "state != BLOCK"
check for the same reason, and we can use smp_load_acquire(state)
instead.
Oleg.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists