Commit df2a40f5 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq

Pull workqueue updates from Tejun Heo:
 "Just a couple cleanup patches.  No functional changes."

* 'for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
  workqueue: Remove GPF argument from alloc_workqueue_attrs()
  workqueue: Make alloc/apply/free_workqueue_attrs() static
parents 2b49350b be69d00d
...@@ -435,10 +435,6 @@ struct workqueue_struct *alloc_workqueue(const char *fmt, ...@@ -435,10 +435,6 @@ struct workqueue_struct *alloc_workqueue(const char *fmt,
extern void destroy_workqueue(struct workqueue_struct *wq); extern void destroy_workqueue(struct workqueue_struct *wq);
struct workqueue_attrs *alloc_workqueue_attrs(gfp_t gfp_mask);
void free_workqueue_attrs(struct workqueue_attrs *attrs);
int apply_workqueue_attrs(struct workqueue_struct *wq,
const struct workqueue_attrs *attrs);
int workqueue_set_unbound_cpumask(cpumask_var_t cpumask); int workqueue_set_unbound_cpumask(cpumask_var_t cpumask);
extern bool queue_work_on(int cpu, struct workqueue_struct *wq, extern bool queue_work_on(int cpu, struct workqueue_struct *wq,
......
...@@ -3329,7 +3329,7 @@ EXPORT_SYMBOL_GPL(execute_in_process_context); ...@@ -3329,7 +3329,7 @@ EXPORT_SYMBOL_GPL(execute_in_process_context);
* *
* Undo alloc_workqueue_attrs(). * Undo alloc_workqueue_attrs().
*/ */
void free_workqueue_attrs(struct workqueue_attrs *attrs) static void free_workqueue_attrs(struct workqueue_attrs *attrs)
{ {
if (attrs) { if (attrs) {
free_cpumask_var(attrs->cpumask); free_cpumask_var(attrs->cpumask);
...@@ -3339,21 +3339,20 @@ void free_workqueue_attrs(struct workqueue_attrs *attrs) ...@@ -3339,21 +3339,20 @@ void free_workqueue_attrs(struct workqueue_attrs *attrs)
/** /**
* alloc_workqueue_attrs - allocate a workqueue_attrs * alloc_workqueue_attrs - allocate a workqueue_attrs
* @gfp_mask: allocation mask to use
* *
* Allocate a new workqueue_attrs, initialize with default settings and * Allocate a new workqueue_attrs, initialize with default settings and
* return it. * return it.
* *
* Return: The allocated new workqueue_attr on success. %NULL on failure. * Return: The allocated new workqueue_attr on success. %NULL on failure.
*/ */
struct workqueue_attrs *alloc_workqueue_attrs(gfp_t gfp_mask) static struct workqueue_attrs *alloc_workqueue_attrs(void)
{ {
struct workqueue_attrs *attrs; struct workqueue_attrs *attrs;
attrs = kzalloc(sizeof(*attrs), gfp_mask); attrs = kzalloc(sizeof(*attrs), GFP_KERNEL);
if (!attrs) if (!attrs)
goto fail; goto fail;
if (!alloc_cpumask_var(&attrs->cpumask, gfp_mask)) if (!alloc_cpumask_var(&attrs->cpumask, GFP_KERNEL))
goto fail; goto fail;
cpumask_copy(attrs->cpumask, cpu_possible_mask); cpumask_copy(attrs->cpumask, cpu_possible_mask);
...@@ -3431,7 +3430,7 @@ static int init_worker_pool(struct worker_pool *pool) ...@@ -3431,7 +3430,7 @@ static int init_worker_pool(struct worker_pool *pool)
pool->refcnt = 1; pool->refcnt = 1;
/* shouldn't fail above this point */ /* shouldn't fail above this point */
pool->attrs = alloc_workqueue_attrs(GFP_KERNEL); pool->attrs = alloc_workqueue_attrs();
if (!pool->attrs) if (!pool->attrs)
return -ENOMEM; return -ENOMEM;
return 0; return 0;
...@@ -3896,8 +3895,8 @@ apply_wqattrs_prepare(struct workqueue_struct *wq, ...@@ -3896,8 +3895,8 @@ apply_wqattrs_prepare(struct workqueue_struct *wq,
ctx = kzalloc(struct_size(ctx, pwq_tbl, nr_node_ids), GFP_KERNEL); ctx = kzalloc(struct_size(ctx, pwq_tbl, nr_node_ids), GFP_KERNEL);
new_attrs = alloc_workqueue_attrs(GFP_KERNEL); new_attrs = alloc_workqueue_attrs();
tmp_attrs = alloc_workqueue_attrs(GFP_KERNEL); tmp_attrs = alloc_workqueue_attrs();
if (!ctx || !new_attrs || !tmp_attrs) if (!ctx || !new_attrs || !tmp_attrs)
goto out_free; goto out_free;
...@@ -4033,7 +4032,7 @@ static int apply_workqueue_attrs_locked(struct workqueue_struct *wq, ...@@ -4033,7 +4032,7 @@ static int apply_workqueue_attrs_locked(struct workqueue_struct *wq,
* *
* Return: 0 on success and -errno on failure. * Return: 0 on success and -errno on failure.
*/ */
int apply_workqueue_attrs(struct workqueue_struct *wq, static int apply_workqueue_attrs(struct workqueue_struct *wq,
const struct workqueue_attrs *attrs) const struct workqueue_attrs *attrs)
{ {
int ret; int ret;
...@@ -4044,7 +4043,6 @@ int apply_workqueue_attrs(struct workqueue_struct *wq, ...@@ -4044,7 +4043,6 @@ int apply_workqueue_attrs(struct workqueue_struct *wq,
return ret; return ret;
} }
EXPORT_SYMBOL_GPL(apply_workqueue_attrs);
/** /**
* wq_update_unbound_numa - update NUMA affinity of a wq for CPU hot[un]plug * wq_update_unbound_numa - update NUMA affinity of a wq for CPU hot[un]plug
...@@ -4242,7 +4240,7 @@ struct workqueue_struct *alloc_workqueue(const char *fmt, ...@@ -4242,7 +4240,7 @@ struct workqueue_struct *alloc_workqueue(const char *fmt,
return NULL; return NULL;
if (flags & WQ_UNBOUND) { if (flags & WQ_UNBOUND) {
wq->unbound_attrs = alloc_workqueue_attrs(GFP_KERNEL); wq->unbound_attrs = alloc_workqueue_attrs();
if (!wq->unbound_attrs) if (!wq->unbound_attrs)
goto err_free_wq; goto err_free_wq;
} }
...@@ -5395,7 +5393,7 @@ static struct workqueue_attrs *wq_sysfs_prep_attrs(struct workqueue_struct *wq) ...@@ -5395,7 +5393,7 @@ static struct workqueue_attrs *wq_sysfs_prep_attrs(struct workqueue_struct *wq)
lockdep_assert_held(&wq_pool_mutex); lockdep_assert_held(&wq_pool_mutex);
attrs = alloc_workqueue_attrs(GFP_KERNEL); attrs = alloc_workqueue_attrs();
if (!attrs) if (!attrs)
return NULL; return NULL;
...@@ -5817,7 +5815,7 @@ static void __init wq_numa_init(void) ...@@ -5817,7 +5815,7 @@ static void __init wq_numa_init(void)
return; return;
} }
wq_update_unbound_numa_attrs_buf = alloc_workqueue_attrs(GFP_KERNEL); wq_update_unbound_numa_attrs_buf = alloc_workqueue_attrs();
BUG_ON(!wq_update_unbound_numa_attrs_buf); BUG_ON(!wq_update_unbound_numa_attrs_buf);
/* /*
...@@ -5892,7 +5890,7 @@ int __init workqueue_init_early(void) ...@@ -5892,7 +5890,7 @@ int __init workqueue_init_early(void)
for (i = 0; i < NR_STD_WORKER_POOLS; i++) { for (i = 0; i < NR_STD_WORKER_POOLS; i++) {
struct workqueue_attrs *attrs; struct workqueue_attrs *attrs;
BUG_ON(!(attrs = alloc_workqueue_attrs(GFP_KERNEL))); BUG_ON(!(attrs = alloc_workqueue_attrs()));
attrs->nice = std_nice[i]; attrs->nice = std_nice[i];
unbound_std_wq_attrs[i] = attrs; unbound_std_wq_attrs[i] = attrs;
...@@ -5901,7 +5899,7 @@ int __init workqueue_init_early(void) ...@@ -5901,7 +5899,7 @@ int __init workqueue_init_early(void)
* guaranteed by max_active which is enforced by pwqs. * guaranteed by max_active which is enforced by pwqs.
* Turn off NUMA so that dfl_pwq is used for all nodes. * Turn off NUMA so that dfl_pwq is used for all nodes.
*/ */
BUG_ON(!(attrs = alloc_workqueue_attrs(GFP_KERNEL))); BUG_ON(!(attrs = alloc_workqueue_attrs()));
attrs->nice = std_nice[i]; attrs->nice = std_nice[i];
attrs->no_numa = true; attrs->no_numa = true;
ordered_wq_attrs[i] = attrs; ordered_wq_attrs[i] = attrs;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment