Re: [RFC PATCH v2 1/2] membarrier: Provide register expedited private command

From: Paul E. McKenney
Date: Thu Sep 21 2017 - 11:27:43 EST


On Thu, Sep 21, 2017 at 03:11:43PM +0000, Mathieu Desnoyers wrote:
> ----- On Sep 21, 2017, at 8:13 AM, Peter Zijlstra peterz@xxxxxxxxxxxxx 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.

Good to hear that there is a useful test. ;-)

Thanx, Paul

> 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
>