Messages in this thread | | | Date | Tue, 10 May 2016 05:50:16 +0800 | Subject | Re: [PATCH] workqueue: fix rebind bound workers warning | From | Wanpeng Li <> |
| |
Cc Thomas, the new state machine author, 2016-05-10 1:00 GMT+08:00 Tejun Heo <tj@kernel.org>: > Hello, > > On Thu, May 05, 2016 at 09:41:31AM +0800, Wanpeng Li wrote: >> The boot CPU handles housekeeping duty(unbound timers, workqueues, >> timekeeping, ...) on behalf of full dynticks CPUs. It must remain >> online when nohz full is enabled. There is a priority set to every >> notifier_blocks: >> >> workqueue_cpu_up > tick_nohz_cpu_down > workqueue_cpu_down >> >> So tick_nohz_cpu_down callback failed when down prepare cpu 0, and >> notifier_blocks behind tick_nohz_cpu_down will not be called any >> more, which leads to workers are actually not unbound. Then hotplug >> state machine will fallback to undo and online cpu 0 again. Workers >> will be rebound unconditionally even if they are not unbound and >> trigger the warning in this progress. > > I'm a bit confused. Are you saying that the hotplug statemachine may > invoke CPU_DOWN_FAILED w/o preceding CPU_DOWN on the same callback?
I think so. CPU_DOWN_FAILED is detected in the process of CPU_DOWN_PREPARE
Regards, Wanpeng Li
| |