From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mathieu Desnoyers Subject: Re: [RFC PATCH v2 1/2] membarrier: Provide register expedited private command Date: Thu, 21 Sep 2017 15:11:43 +0000 (UTC) Message-ID: <196603634.15769.1506006703406.JavaMail.zimbra@efficios.com> References: <20170918223648.31505-1-mathieu.desnoyers@efficios.com> <20170921121344.movkcoj6rm2s23ig@hirez.programming.kicks-ass.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20170921121344.movkcoj6rm2s23ig@hirez.programming.kicks-ass.net> Sender: linux-kernel-owner@vger.kernel.org To: Peter Zijlstra Cc: "Paul E. McKenney" , linux-kernel , Boqun Feng , Andrew Hunter , maged michael , gromer , Avi Kivity , Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , Dave Watson , Alan Stern , Will Deacon , Andy Lutomirski , linux-arch List-Id: linux-arch.vger.kernel.org ----- On Sep 21, 2017, at 8:13 AM, Peter Zijlstra peterz@infradead.org wrote: > On Mon, Sep 18, 2017 at 06:36:47PM -0400, Mathieu Desnoyers wrote: >> @@ -3373,6 +3362,7 @@ static void __sched notrace __schedule(bool preempt) >> >> /* Also unlocks the rq: */ >> rq = context_switch(rq, prev, next, &rf); >> + membarrier_arch_sched_in(prev, next); > > That's wrong iirc; we just switched stacks, you cannot use @prev and > @next. Yes, it did indeed explode spectacularly at boot in testing. RFC v3 fixes that. Thanks, Mathieu > >> } else { >> rq->clock_update_flags &= ~(RQCF_ACT_SKIP|RQCF_REQ_SKIP); > > rq_unlock_irq(rq, &rf); -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.efficios.com ([167.114.142.141]:34776 "EHLO mail.efficios.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751794AbdIUPKx (ORCPT ); Thu, 21 Sep 2017 11:10:53 -0400 Date: Thu, 21 Sep 2017 15:11:43 +0000 (UTC) From: Mathieu Desnoyers Message-ID: <196603634.15769.1506006703406.JavaMail.zimbra@efficios.com> In-Reply-To: <20170921121344.movkcoj6rm2s23ig@hirez.programming.kicks-ass.net> References: <20170918223648.31505-1-mathieu.desnoyers@efficios.com> <20170921121344.movkcoj6rm2s23ig@hirez.programming.kicks-ass.net> Subject: Re: [RFC PATCH v2 1/2] membarrier: Provide register expedited private command MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-arch-owner@vger.kernel.org List-ID: To: Peter Zijlstra Cc: "Paul E. McKenney" , linux-kernel , Boqun Feng , Andrew Hunter , maged michael , gromer , Avi Kivity , Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , Dave Watson , Alan Stern , Will Deacon , Andy Lutomirski , linux-arch Message-ID: <20170921151143.ONea3sZfJFwvG05n9LD94hUgfsdMoIhkRpg9wBs6lmk@z> ----- On Sep 21, 2017, at 8:13 AM, Peter Zijlstra peterz@infradead.org wrote: > On Mon, Sep 18, 2017 at 06:36:47PM -0400, Mathieu Desnoyers wrote: >> @@ -3373,6 +3362,7 @@ static void __sched notrace __schedule(bool preempt) >> >> /* Also unlocks the rq: */ >> rq = context_switch(rq, prev, next, &rf); >> + membarrier_arch_sched_in(prev, next); > > That's wrong iirc; we just switched stacks, you cannot use @prev and > @next. Yes, it did indeed explode spectacularly at boot in testing. RFC v3 fixes that. Thanks, Mathieu > >> } else { >> rq->clock_update_flags &= ~(RQCF_ACT_SKIP|RQCF_REQ_SKIP); > > rq_unlock_irq(rq, &rf); -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com