Core isolation, cpu hotplug and stop_machine

From: Fredrik MarkstrÃm
Date: Mon May 22 2017 - 09:07:48 EST


Hello,

As I understand it the recommended way to force pending timers of a
core when trying to isolate it (runtime) is to use cpu hotplug. The
current implementation of cpu hotplug has a serious drawback in that
it uses stop_machine() which disturbs already isolated cores. This is
a serious problem in our usecase.

I would guess we are not the only ones with this problem, but as far
as I can see there is currently no solution for this in the latest
next. There was a patchset back in 2013 that implemented
stop_machine-free hotplug, but that was never accepted.
(https://lwn.net/Articles/538819/)

So is there any ongoing work to solve this problem and what is the
preferred way to solve it, is it:

1) stop_machine() free hotplug. It seems to be quite complex but
probably solves more problems
then the one above.
2) Invent some new mechanism/interface separate from hotplug to
migrate timers and hrtimers.
3) Don't, because this isn't a use-case that linux should support.

/Fredrik