From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751780AbdFHAdG (ORCPT ); Wed, 7 Jun 2017 20:33:06 -0400 Received: from mail-pf0-f194.google.com ([209.85.192.194]:36436 "EHLO mail-pf0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751410AbdFHAdF (ORCPT ); Wed, 7 Jun 2017 20:33:05 -0400 Date: Thu, 8 Jun 2017 10:32:44 +1000 From: Nicholas Piggin To: Peter Zijlstra Cc: torvalds@linux-foundation.org, will.deacon@arm.com, oleg@redhat.com, paulmck@linux.vnet.ibm.com, benh@kernel.crashing.org, mpe@ellerman.id.au, linux-kernel@vger.kernel.org, mingo@kernel.org, stern@rowland.harvard.edu Subject: Re: [RFC][PATCH 5/5] powerpc: Remove SYNC from _switch Message-ID: <20170608103244.1b4b24c9@roar.ozlabs.ibm.com> In-Reply-To: <20170607162013.905320602@infradead.org> References: <20170607161501.819948352@infradead.org> <20170607162013.905320602@infradead.org> Organization: IBM X-Mailer: Claws Mail 3.14.1 (GTK+ 2.24.31; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 07 Jun 2017 18:15:06 +0200 Peter Zijlstra wrote: > Now that the scheduler's rq->lock is RCsc and thus provides full > transitivity between scheduling actions. And since we cannot migrate > current, a task needs a switch-out and a switch-in in order to > migrate, in which case the RCsc provides all the ordering we need. Hi Peter, I'm actually just working on removing this right now too, so good timing. I think we can't "just" remove it, because it is required to order MMIO on powerpc as well. But what I have done is to comment that some other primitives are already providing the hwsync for other, so we don't have to add another one in _switch. Thanks, Nick > > Signed-off-by: Peter Zijlstra (Intel) > --- > arch/powerpc/kernel/entry_64.S | 8 -------- > 1 file changed, 8 deletions(-) > > --- a/arch/powerpc/kernel/entry_64.S > +++ b/arch/powerpc/kernel/entry_64.S > @@ -488,14 +488,6 @@ _GLOBAL(_switch) > std r23,_CCR(r1) > std r1,KSP(r3) /* Set old stack pointer */ > > -#ifdef CONFIG_SMP > - /* We need a sync somewhere here to make sure that if the > - * previous task gets rescheduled on another CPU, it sees all > - * stores it has performed on this one. > - */ > - sync > -#endif /* CONFIG_SMP */ > - > /* > * If we optimise away the clear of the reservation in system > * calls because we know the CPU tracks the address of the > >