2014-07-22 05:04:20

by Lai Jiangshan

[permalink] [raw]
Subject: [PATCH] workqueue: remove the suspicuous out_unlock label in get_unbound_pool()

After the locking was moved up to the caller of the get_unbound_pool(),
out_unlock label doesn't need to do any unlock operation and the name
became bad, so we just remove this label, and the only usage-site
"goto out_unlock" is subsituted to "return pool".

Signed-off-by: Lai Jiangshan <[email protected]>
---
kernel/workqueue.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index b8990cf..4e9f722 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -3462,7 +3462,7 @@ static struct worker_pool *get_unbound_pool(const struct workqueue_attrs *attrs)
hash_for_each_possible(unbound_pool_hash, pool, hash_node, hash) {
if (wqattrs_equal(pool->attrs, attrs)) {
pool->refcnt++;
- goto out_unlock;
+ return pool;
}
}

@@ -3498,7 +3498,7 @@ static struct worker_pool *get_unbound_pool(const struct workqueue_attrs *attrs)

/* install */
hash_add(unbound_pool_hash, &pool->hash_node, hash);
-out_unlock:
+
return pool;
fail:
if (pool)
--
1.7.4.4


2014-07-22 15:34:48

by Tejun Heo

[permalink] [raw]
Subject: Re: [PATCH] workqueue: remove the suspicuous out_unlock label in get_unbound_pool()

On Tue, Jul 22, 2014 at 01:04:49PM +0800, Lai Jiangshan wrote:
> After the locking was moved up to the caller of the get_unbound_pool(),
> out_unlock label doesn't need to do any unlock operation and the name
> became bad, so we just remove this label, and the only usage-site
> "goto out_unlock" is subsituted to "return pool".
>
> Signed-off-by: Lai Jiangshan <[email protected]>

Applied to wq/for-3.17 w/ minor edits.

Thanks.

--
tejun