tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Fixing excessive shootdowns during FFS read (kern/53124) on x86



On Sun, Mar 25, 2018 at 03:39:21PM +0200, Maxime Villard wrote:
> 
> The main cpu (on which your program executes) sends IPIs to remote cpus, these
> cpus were idle and entered the halted state, and they take some time to wake
> up and process the IPI. And that's time the main cpu spends waiting.
> 
> As you said yourself it's not trivial to fix this, because the wakeup path
> can be whatever interrupt entry point, and if we were to add some code there
> it would slow down interrupt entry in general.

The slow down would be minimal, the cost comes from refilling the TLB and
that would happen independent on when the TLB was flushed.


> We could perhaps have something to instruct the main cpu not to wait for cpus
> that are idle, only wait for those that aren't.

Is there a guarantee that the IPI handler on the other CPUs has already
started? Could it be deferred by some other high-level interrupt or
by a section with disabled interrupts?



Greetings,
-- 
                                Michael van Elst
Internet: mlelstv%serpens.de@localhost
                                "A potential Snark may lurk in every tree."


Home | Main Index | Thread Index | Old Index