Re: [RFC PATCH 1/2] x86/ibpb: Skip IBPB when we switch back to same user process

From: Peter Zijlstra
Date: Thu Jan 25 2018 - 08:51:19 EST


On Thu, Jan 25, 2018 at 05:21:30AM -0800, Arjan van de Ven wrote:
> >
> > This means that 'A -> idle -> A' should never pass through switch_mm to
> > begin with.
> >
> > Please clarify how you think it does.
> >
>
> the idle code does leave_mm() to avoid having to IPI CPUs in deep sleep states
> for a tlb flush.

The intel_idle code does, not the idle code. This is squirreled away in
some driver :/

> (trust me, that you really want, sequentially IPI's a pile of cores in a deep sleep
> state to just flush a tlb that's empty, the performance of that is horrific)

Hurmph. I'd rather fix that some other way than leave_mm(), this is
piling special on special.