Skip to content

workqueue: fix bug when numa mapping is changed v2.

Kamezawa Hiroyuki lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest4 patches 19 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4workqueue: add a hook for node hotpluginclude/linux/workqueue.h kernel/workqueue.c mm/memory_hotplug.c+31 -20 replies
1/4workqueue:Fix unbound workqueue's node affinity detectionkernel/workqueue.c+26 -123 replies
2/4workqueue: add warning if pool->node is offlinekernel/workqueue.c+13 -30 replies
2/4workqueue: update per-cpu workqueue's node affinity at,online-offlinekernel/workqueue.c+10 -12 replies
3/4workqueue: remove per-node unbound pool when node goes offline.kernel/workqueue.c+29 -02 replies
3/4workqueue: Update workqueue's possible cpumask when a new node, coming up.include/linux/memory_hotplug.h kernel/workqueue.c mm/memory_hotplug.c+33 -13 replies
4/4workqueue: handle change in cpu-node relationship.kernel/workqueue.c+53 -149 replies
4/4workqueue: Handle cpu-node affinity change at CPU_ONLINE.kernel/workqueue.c+15 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/4] workqueue: fix bug when numa mapping is changed v2.

Yasuaki Ishimatsu hit a allocation failure bug when the numa mapping between CPU and node is changed. This was the last scene:
SLUB: Unable to allocate memory on node 2 (gfp=0x80d0)
cache: kmalloc-192, object size: 192, buffer size: 192, default order: 1, min order: 0 node 0: slabs: 6172, objs: 259224, free: 245741
node 1: slabs: 3261, objs: 136962, free: 127656

I and Yasuaki have a host which has a feature of node hotplug, this is a fix by me. Tested several patterns of hotplug and I found no issue, now.
Of course I read Lai's patch and Tejun's comment. I hope I could reflect them.

1/4 ... add node-hotplug event callback.
2/4 ... add a sanity check (for debug)
3/4 ... remove per-node unbound workqueue if node goes offline. 4/4 ... update per-cpu pool's information and cpumasks, node information
based on the latest (cpu, node) information.

Thanks,
-Kame