[PATCH 5/5] workqueue: retry on NUMA_NO_NODE when create_worker() fails

2014-12-12 Thread Lai Jiangshan
A pwq bound to a specified node might be last long or even forever after the node was offline. Especially when this pwq has some back-to-back work items which requeue themselves and cause the pwq can't quit. This kinds of pwqs will cause their own pools busy and maybe create workers. This pools w

Re: [PATCH 5/5] workqueue: retry on NUMA_NO_NODE when create_worker() fails

2014-12-12 Thread KOSAKI Motohiro
On Fri, Dec 12, 2014 at 5:19 AM, Lai Jiangshan wrote: > A pwq bound to a specified node might be last long or even forever after > the node was offline. Especially when this pwq has some back-to-back work > items which requeue themselves and cause the pwq can't quit. > > This kinds of pwqs will c

Re: [PATCH 5/5] workqueue: retry on NUMA_NO_NODE when create_worker() fails

2014-12-12 Thread KOSAKI Motohiro
On Fri, Dec 12, 2014 at 11:05 AM, KOSAKI Motohiro wrote: > On Fri, Dec 12, 2014 at 5:19 AM, Lai Jiangshan wrote: >> A pwq bound to a specified node might be last long or even forever after >> the node was offline. Especially when this pwq has some back-to-back work >> items which requeue themsel

Re: [PATCH 5/5] workqueue: retry on NUMA_NO_NODE when create_worker() fails

2014-12-12 Thread Tejun Heo
On Fri, Dec 12, 2014 at 06:19:55PM +0800, Lai Jiangshan wrote: ... > fail: > - if (id >= 0) > - ida_simple_remove(&pool->worker_ida, id); > + if (node != NUMA_NO_NODE) { > + node = NUMA_NO_NODE; > + goto again; > + } > + ida_simple_remove(&pool->