On Mon, Dec 14, 2020 at 11:54:47PM +0800, Lai Jiangshan wrote: > From: Lai Jiangshan <la...@linux.alibaba.com> > > 06249738a41a ("workqueue: Manually break affinity on hotplug") > said that scheduler will not force break affinity for us. > > But workqueue highly depends on the old behavior. Many parts of the codes > relies on it, 06249738a41a ("workqueue: Manually break affinity on hotplug") > is not enough to change it, and the commit has flaws in itself too. > > We need to thoroughly update the way workqueue handles affinity > in cpu hot[un]plug, what is this patchset intends to do and > replace the Valentin Schneider's patch [1].
So the actual problem is with per-cpu kthreads, the new assumption is that hot-un-plug will make all per-cpu kthreads for the dying CPU go away. Workqueues violated that. I fixed the obvious site, and Valentin's patch avoids workqueues from quickly creating new ones while we're not looking. What other problems did you find?