workqueue: relocate pwq_set_max_active()

pwq_set_max_active() is gonna be modified and used during
pool_workqueue init.  Move it above init_and_link_pwq().

This patch is pure code reorganization and doesn't introduce any
functional changes.

Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
Tejun Heo 2013-03-13 16:51:35 -07:00
parent e626761691
commit 0fbd95aa8a

View File

@ -3725,6 +3725,26 @@ static void pwq_unbound_release_workfn(struct work_struct *work)
kfree(wq); kfree(wq);
} }
/**
* pwq_set_max_active - adjust max_active of a pwq
* @pwq: target pool_workqueue
* @max_active: new max_active value.
*
* Set @pwq->max_active to @max_active and activate delayed works if
* increased.
*
* CONTEXT:
* spin_lock_irq(pool->lock).
*/
static void pwq_set_max_active(struct pool_workqueue *pwq, int max_active)
{
pwq->max_active = max_active;
while (!list_empty(&pwq->delayed_works) &&
pwq->nr_active < pwq->max_active)
pwq_activate_first_delayed(pwq);
}
static void init_and_link_pwq(struct pool_workqueue *pwq, static void init_and_link_pwq(struct pool_workqueue *pwq,
struct workqueue_struct *wq, struct workqueue_struct *wq,
struct worker_pool *pool, struct worker_pool *pool,
@ -4011,26 +4031,6 @@ void destroy_workqueue(struct workqueue_struct *wq)
} }
EXPORT_SYMBOL_GPL(destroy_workqueue); EXPORT_SYMBOL_GPL(destroy_workqueue);
/**
* pwq_set_max_active - adjust max_active of a pwq
* @pwq: target pool_workqueue
* @max_active: new max_active value.
*
* Set @pwq->max_active to @max_active and activate delayed works if
* increased.
*
* CONTEXT:
* spin_lock_irq(pool->lock).
*/
static void pwq_set_max_active(struct pool_workqueue *pwq, int max_active)
{
pwq->max_active = max_active;
while (!list_empty(&pwq->delayed_works) &&
pwq->nr_active < pwq->max_active)
pwq_activate_first_delayed(pwq);
}
/** /**
* workqueue_set_max_active - adjust max_active of a workqueue * workqueue_set_max_active - adjust max_active of a workqueue
* @wq: target workqueue * @wq: target workqueue