Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0fbd95aa authored by Tejun Heo's avatar Tejun Heo
Browse files

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: default avatarTejun Heo <tj@kernel.org>
parent e6267616
Loading
Loading
Loading
Loading
+20 −20
Original line number Diff line number Diff line
@@ -3725,6 +3725,26 @@ static void pwq_unbound_release_workfn(struct work_struct *work)
		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,
			      struct workqueue_struct *wq,
			      struct worker_pool *pool,
@@ -4011,26 +4031,6 @@ void destroy_workqueue(struct workqueue_struct *wq)
}
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
 * @wq: target workqueue