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

From: Peter Zijlstra
Date: Thu Sep 21 2017 - 08:14:30 EST


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.

> } else {
> rq->clock_update_flags &= ~(RQCF_ACT_SKIP|RQCF_REQ_SKIP);
> rq_unlock_irq(rq, &rf);