Messages in this thread Patch in this message | | | From | Zqiang <> | Subject | [PATCH] workqueue: replace call_rcu with kfree_rcu | Date | Wed, 14 Oct 2020 16:20:39 +0800 |
| |
The pwq's rcu callback func only to release 'pwq' resources, can use 'kfree_rcu' instead of 'call_rcu' func.
Signed-off-by: Zqiang <qiang.zhang@windriver.com> --- kernel/workqueue.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/kernel/workqueue.c b/kernel/workqueue.c index ac088ce6059b..8d4fe649631a 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -3653,11 +3653,6 @@ static struct worker_pool *get_unbound_pool(const struct workqueue_attrs *attrs) return NULL; } -static void rcu_free_pwq(struct rcu_head *rcu) -{ - kmem_cache_free(pwq_cache, - container_of(rcu, struct pool_workqueue, rcu)); -} /* * Scheduled on system_wq by put_pwq() when an unbound pwq hits zero refcnt @@ -3683,7 +3678,7 @@ static void pwq_unbound_release_workfn(struct work_struct *work) put_unbound_pool(pool); mutex_unlock(&wq_pool_mutex); - call_rcu(&pwq->rcu, rcu_free_pwq); + kfree_rcu(pwq, rcu); /* * If we're the last pwq going away, @wq is already dead and no one -- 2.17.1
| |