From: Tejun Heo <tj@kernel.org>
To: Lai Jiangshan <laijs@cn.fujitsu.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/7 V2] workqueue: introduce get_pwq_unlocked()
Date: Mon, 18 May 2015 16:41:08 -0400 [thread overview]
Message-ID: <20150518204108.GG24861@htj.duckdns.org> (raw)
In-Reply-To: <1431433955-3173-4-git-send-email-laijs@cn.fujitsu.com>
Hello,
So, it looks like we'll need get_pwq_unlocked(). Reviews below.
On Tue, May 12, 2015 at 08:32:31PM +0800, Lai Jiangshan wrote:
> attrs management code may reuse existed pwq and it has open code
> to do "lock();get_pwq();unlock()", we move this open code into
> get_pwq_unlocked().
>
> get_pwq_unlocked() will also be used in later patches to allow
> apply_wqattrs_prepare() to resue the original default or per-node pwq.
reuse
> /**
> + * get_pwq_unlocked - get_pwq() with surrounding pool lock/unlock
> + * @pwq: pool_workqueue to get (should not %NULL)
> + *
> + * get_pwq() with locking. The caller should have at least an owned
> + * reference on @pwq to match the guarantees required by get_pwq().
> + *
> + * Return itsefl for allowing chained expressions.
> + */
> +static struct pool_workqueue *get_pwq_unlocked(struct pool_workqueue *pwq)
> +{
> + spin_lock_irq(&pwq->pool->lock);
> + get_pwq(pwq);
> + spin_unlock_irq(&pwq->pool->lock);
> +
> + return pwq;
> +}
As I mentioned before, please drop the return value. It may be
tempting to do this to match the pattern with alloc and whatnot but
these things end badly in the long term. Please stick to what's
necessary. The function can't fail. Make its return type void.
Thanks.
--
tejun
next prev parent reply other threads:[~2015-05-18 20:41 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-12 12:32 [PATCH 0/7 V2] workqueue: cleanup for attr management Lai Jiangshan
2015-05-12 12:32 ` [PATCH 1/7 V2] workqueue: wq_pool_mutex protects the attrs-installation Lai Jiangshan
2015-05-12 12:32 ` [PATCH 2/7 V2] workqueue: simplify wq_update_unbound_numa() Lai Jiangshan
2015-05-18 20:21 ` Tejun Heo
2015-05-12 12:32 ` [PATCH 3/7 V2] workqueue: introduce get_pwq_unlocked() Lai Jiangshan
2015-05-18 20:28 ` Tejun Heo
2015-05-18 20:41 ` Tejun Heo [this message]
2015-05-12 12:32 ` [PATCH 4/7 V2] workqueue: reuse the current per-node pwq when its attrs unchanged Lai Jiangshan
2015-05-18 20:34 ` Tejun Heo
2015-05-25 9:47 ` Lai Jiangshan
2015-05-26 18:51 ` Tejun Heo
2015-05-12 12:32 ` [PATCH 5/7 V2] workqueue: reuse the current default " Lai Jiangshan
2015-05-18 20:38 ` Tejun Heo
2015-05-12 12:32 ` [PATCH 6/7 V2] workqueue: reuse wq_update_unbound_numa_attrs_buf as temporary attrs Lai Jiangshan
2015-05-12 12:32 ` [PATCH 7/7 V2] workqueue: add get_node_unbound_pwq() Lai Jiangshan
2015-05-18 0:39 ` [PATCH 0/7 V2] workqueue: cleanup for attr management Lai Jiangshan
2015-05-18 1:26 ` Tejun Heo
2015-05-18 2:06 ` Lai Jiangshan
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=20150518204108.GG24861@htj.duckdns.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®