[PATCH 0/4] workqueue: fix memory allocation after numa mapping is changed v3

Kamezawa Hiroyuki
2014-12-15T11:12:04Z

Lai-san, Tejun-san,

Thank you for review, this a fix v3. This has been tested on NUMA node hotplug
machine and seems work well.

The probelm is memory allocation failure because pool->node information can be stale
after node hotplug. This patch(1,2) tries to fix pool->node calculation.
Patch (3,4) tries to update cpumask calculation.
(Fixing memory allocation bug just requires patch 1,2. But cpumask should be update
I think.)

Changelog since v2.
- reordered patch and split for each problem cases.
- removed unnecessary calls pointed out by Lai-san.
- restore node/cpu relationship when a new node comes online.
- handle corner case at CPU_ONLINE.

1/4 .... fix unbound workqueue's memory node affinity calculation.
2/4 ... update percpu workqueue's memory node affinity at online/offline
3/4 ... update workqueue's possible cpumask when a new node onlined.
4/4 ... handle cpu-node affinity change at CPU_ONLINE.

Thanks,
-Kame