From: Tejun Heo <tj@kernel.org>
To: Lai Jiangshan <laijs@cn.fujitsu.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/7] workqueue: rename rebind_workers() to associate_cpu_pool()
Date: Thu, 4 Apr 2013 07:15:23 -0700 [thread overview]
Message-ID: <20130404141523.GE9425@htj.dyndns.org> (raw)
In-Reply-To: <1365041143-3088-3-git-send-email-laijs@cn.fujitsu.com>
On Thu, Apr 04, 2013 at 10:05:34AM +0800, Lai Jiangshan wrote:
> merge the code of clearing POOL_DISASSOCIATED to rebind_workers(), and
> rename rebind_workers() to associate_cpu_pool().
>
> It merges high related code together and simplify
> workqueue_cpu_up_callback().
>
> Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
> ---
> kernel/workqueue.c | 21 ++++++++++-----------
> 1 files changed, 10 insertions(+), 11 deletions(-)
>
> diff --git a/kernel/workqueue.c b/kernel/workqueue.c
> index 66a9d71..b4369de 100644
> --- a/kernel/workqueue.c
> +++ b/kernel/workqueue.c
> @@ -2270,7 +2270,7 @@ recheck:
> * worker or that someone else has already assumed the manager
> * role. This is where @worker starts participating in concurrency
> * management if applicable and concurrency management is restored
> - * after being rebound. See rebind_workers() for details.
> + * after being rebound. See associate_cpu_pool() for details.
> */
> worker_clr_flags(worker, WORKER_PREP | WORKER_REBOUND);
>
> @@ -4431,12 +4431,13 @@ static void wq_unbind_fn(struct work_struct *work)
> }
>
> /**
> - * rebind_workers - rebind all workers of a pool to the associated CPU
> + * associate_cpu_pool - rebind all workers of a pool to the associated CPU
> * @pool: pool of interest
> *
> - * @pool->cpu is coming online. Rebind all workers to the CPU.
> + * @pool->cpu is coming online. Rebind all workers to the CPU and
> + * set the pool associated
> */
> -static void rebind_workers(struct worker_pool *pool)
> +static void associate_cpu_pool(struct worker_pool *pool)
> {
> struct worker *worker;
> int wi;
> @@ -4451,8 +4452,9 @@ static void rebind_workers(struct worker_pool *pool)
> * from CPU_ONLINE, the following shouldn't fail.
> */
> for_each_pool_worker(worker, wi, pool)
> - WARN_ON_ONCE(set_cpus_allowed_ptr(worker->task,
> - pool->attrs->cpumask) < 0);
> + if (WARN_ON_ONCE(set_cpus_allowed_ptr(worker->task,
> + pool->attrs->cpumask) < 0))
> + return;
>
> spin_lock_irq(&pool->lock);
>
> @@ -4491,6 +4493,7 @@ static void rebind_workers(struct worker_pool *pool)
> ACCESS_ONCE(worker->flags) = worker_flags;
> }
>
> + pool->flags &= ~POOL_DISASSOCIATED;
So, now we're clearing DISASSOCIATED after rebinding workers instead
of before. Is that safe? Even if so, why no mention of that in the
patch description? Changes like this are functional changes which can
cause subtle issues and *should* be explained and justified in the
patch description. Please put more effort in explaining what's going
on.
Thanks.
--
tejun
next prev parent reply other threads:[~2013-04-04 14:15 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-04 2:05 [PATCH 1/7] workqueue: add __WQ_FREEZING and remove POOL_FREEZING Lai Jiangshan
2013-04-04 2:05 ` [PATCH 2/7] workqueue: set __WQ_FREEZING only when freezable Lai Jiangshan
2013-04-04 2:05 ` [PATCH 3/7] workqueue: rename rebind_workers() to associate_cpu_pool() Lai Jiangshan
2013-04-04 14:15 ` Tejun Heo [this message]
2013-04-04 2:05 ` [PATCH 4/7] workqueue: simplify workqueue_cpu_up_callback(CPU_ONLINE) Lai Jiangshan
2013-04-04 2:05 ` [PATCH 5/7] workqueue, use default pwq when fail to allocate node pwd Lai Jiangshan
2013-04-04 14:34 ` Tejun Heo
2013-04-04 2:05 ` [PATCH 6/7] workqueue: node-awared allocation for unbound pool Lai Jiangshan
2013-04-04 14:38 ` Tejun Heo
2013-04-04 2:05 ` [PATCH 7/7] workqueue: avoid false negative WARN_ON() Lai Jiangshan
2013-04-04 14:55 ` [PATCH] workqueue: avoid false negative WARN_ON() in destroy_workqueue() Tejun Heo
2013-04-05 7:39 ` Lai Jiangshan
2013-04-04 14:12 ` [PATCH 1/7] workqueue: add __WQ_FREEZING and remove POOL_FREEZING Tejun Heo
2013-04-20 16:12 ` Lai Jiangshan
2013-04-21 1:29 ` Tejun Heo
2014-03-25 9:56 ` [PATCH] " Lai Jiangshan
2014-03-27 12:08 ` Lai Jiangshan
2014-03-27 14:48 ` Tejun Heo
2014-04-16 19:51 ` Tejun Heo
2014-04-16 23:58 ` Lai Jiangshan
2014-04-17 15:29 ` Tejun Heo
2014-04-16 20:50 ` Tejun Heo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130404141523.GE9425@htj.dyndns.org \
--to=tj@kernel.org \
--cc=laijs@cn.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®