Messages in this thread |  | | Date | Wed, 27 Jun 2018 08:36:57 -0400 | From | Steven Rostedt <> | Subject | Re: [PATCH] Revert mm/vmstat.c: fix vmstat_update() preemption BUG |
| |
On Wed, Apr 11, 2018 at 09:07:30PM +0200, Sebastian Andrzej Siewior wrote: > > This already happens: > - vmstat_shepherd() does get_online_cpus() and within this block it does > queue_delayed_work_on(). So this has to wait until cpuhotplug > completed before it can schedule something and then it won't schedule > anything on the "off" CPU.
But can't we have something like this happen: ?
CPU0 CPU1 CPU2 ---- ---- ---- get_online_cpus() queue_work(vmstat_update, cpu1) wakeup(kworker/1) High prio task running put_online_cpus() Shutdown CPU 1 migrate kworker/1 schedule kworker/1 (smp_processor_id() != 1)
-- Steve
|  |