Messages in this thread | | | Date | Wed, 11 May 2016 07:23:21 +0800 | Subject | Re: [PATCH] workqueue: fix rebind bound workers warning | From | Wanpeng Li <> |
| |
Hi Tejun, 2016-05-10 5:50 GMT+08:00 Wanpeng Li <kernellwp@gmail.com>: > 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
So any plan to apply? :-)
Regards, Wanpeng Li
| |