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

From: Mathieu Desnoyers
Date: Thu Sep 21 2017 - 11:10:59 EST


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

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