diff options
| -rw-r--r-- | kernel/workqueue.c | 8 | 
1 files changed, 4 insertions, 4 deletions
| diff --git a/kernel/workqueue.c b/kernel/workqueue.c index 338d418ba6aa..a791a8c32b4f 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -1595,11 +1595,11 @@ static void worker_leave_idle(struct worker *worker)  	list_del_init(&worker->entry);  } -static struct worker *alloc_worker(void) +static struct worker *alloc_worker(int node)  {  	struct worker *worker; -	worker = kzalloc(sizeof(*worker), GFP_KERNEL); +	worker = kzalloc_node(sizeof(*worker), GFP_KERNEL, node);  	if (worker) {  		INIT_LIST_HEAD(&worker->entry);  		INIT_LIST_HEAD(&worker->scheduled); @@ -1694,7 +1694,7 @@ static struct worker *create_worker(struct worker_pool *pool)  	if (id < 0)  		goto fail; -	worker = alloc_worker(); +	worker = alloc_worker(pool->node);  	if (!worker)  		goto fail; @@ -4110,7 +4110,7 @@ struct workqueue_struct *__alloc_workqueue_key(const char *fmt,  	if (flags & WQ_MEM_RECLAIM) {  		struct worker *rescuer; -		rescuer = alloc_worker(); +		rescuer = alloc_worker(NUMA_NO_NODE);  		if (!rescuer)  			goto err_destroy; | 
