Re: [PATCH 2/5] workqueue: update wq_numa_possible_cpumask

2014-12-25 Thread Tejun Heo
On Mon, Dec 15, 2014 at 10:02:04AM +0800, Lai Jiangshan wrote: > 1) "NUMA code" = system's NUMA memory hotplug code, AKA, keep the numa > mapping stable > >I think this is the better idea. This idea came to my mind immediately at > the time >I received the bug report. And after some

Re: [PATCH 2/5] workqueue: update wq_numa_possible_cpumask

2014-12-25 Thread Tejun Heo
On Mon, Dec 15, 2014 at 10:02:04AM +0800, Lai Jiangshan wrote: 1) NUMA code = system's NUMA memory hotplug code, AKA, keep the numa mapping stable I think this is the better idea. This idea came to my mind immediately at the time I received the bug report. And after some

Re: [PATCH 2/5] workqueue: update wq_numa_possible_cpumask

2014-12-17 Thread Lai Jiangshan
On 12/12/2014 06:19 PM, Lai Jiangshan wrote: > 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,

Re: [PATCH 2/5] workqueue: update wq_numa_possible_cpumask

2014-12-17 Thread Lai Jiangshan
On 12/12/2014 06:19 PM, Lai Jiangshan wrote: 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

Re: [PATCH 2/5] workqueue: update wq_numa_possible_cpumask

2014-12-14 Thread Lai Jiangshan
On 12/13/2014 01:18 AM, Tejun Heo wrote: > On Fri, Dec 12, 2014 at 06:19:52PM +0800, Lai Jiangshan wrote: > ... >> +static void wq_update_numa_mapping(int cpu) >> +{ >> +int node, orig_node = NUMA_NO_NODE, new_node = cpu_to_node(cpu); >> + >> +lockdep_assert_held(_pool_mutex); >> + >> +

Re: [PATCH 2/5] workqueue: update wq_numa_possible_cpumask

2014-12-14 Thread Lai Jiangshan
On 12/13/2014 01:18 AM, Tejun Heo wrote: On Fri, Dec 12, 2014 at 06:19:52PM +0800, Lai Jiangshan wrote: ... +static void wq_update_numa_mapping(int cpu) +{ +int node, orig_node = NUMA_NO_NODE, new_node = cpu_to_node(cpu); + +lockdep_assert_held(wq_pool_mutex); + +if

Re: [PATCH 2/5] workqueue: update wq_numa_possible_cpumask

2014-12-12 Thread Tejun Heo
On Fri, Dec 12, 2014 at 06:19:52PM +0800, Lai Jiangshan wrote: ... > +static void wq_update_numa_mapping(int cpu) > +{ > + int node, orig_node = NUMA_NO_NODE, new_node = cpu_to_node(cpu); > + > + lockdep_assert_held(_pool_mutex); > + > + if (!wq_numa_enabled) > + return; >

[PATCH 2/5] workqueue: update wq_numa_possible_cpumask

2014-12-12 Thread Lai Jiangshan
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,

[PATCH 2/5] workqueue: update wq_numa_possible_cpumask

2014-12-12 Thread Lai Jiangshan
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,

Re: [PATCH 2/5] workqueue: update wq_numa_possible_cpumask

2014-12-12 Thread Tejun Heo
On Fri, Dec 12, 2014 at 06:19:52PM +0800, Lai Jiangshan wrote: ... +static void wq_update_numa_mapping(int cpu) +{ + int node, orig_node = NUMA_NO_NODE, new_node = cpu_to_node(cpu); + + lockdep_assert_held(wq_pool_mutex); + + if (!wq_numa_enabled) + return; + +