Messages in this thread | | | Date | Sun, 24 Mar 2013 11:55:06 -0700 | From | Tejun Heo <> | Subject | Re: [PATCHSET wq/for-3.10] workqueue: NUMA affinity for unbound workqueues |
| |
Hey, Lai.
On Mon, Mar 25, 2013 at 12:04:19AM +0800, Lai Jiangshan wrote: > example: > node0(cpu0,cpu1),node1(cpu2,cpu3), > wq's cpumask: 1,3 > the pwq of this wq on the node1's cpumask: 3 > current online cpu: 0-2. > so the cpumask of worker tasks of the pwq on node1 is actually cpu_all_mask. > so the work scheduled from cpu2 can be executed on cpu0 or cpu2. > we expect it is executed on cpu1 only.
Ah, right. I was hoping to avoid doing pwq swaps on CPU hot[un]plugs doing everything on possible mask. Looks like we'll need some massaging after all.
> It can be fixed by swapping pwqs(node's pwq <-> default pwq) > when cpuhotplug. But could you reschedule this patchset to wq/for-3.11?
We're still only at -rc4 meaning we still have plenty of time to resolve whatever issues which come up, so I think I'm still gonna target 3.10.
> the whole patchset is more complicated than my brain.
It isn't that complex, is it? I mean, the difficult part - using multiple pwqs on unbound wq - already happened, and even that wasn't too complex as it in most part synchronized the behaviors between per-cpu and unbound workqueues. All that NUMA support is doing is mapping different pwqs to different issuing CPUs.
Thanks.
-- tejun
| |