mirror of
https://gitee.com/bianbu-linux/linux-6.6
synced 2025-04-24 14:07:52 -04:00
workqueue: Use the kmem_cache_free() instead of kfree() to release pwq
Currently, the kfree() be used for pwq objects allocated with kmem_cache_alloc() in alloc_and_link_pwqs(), this isn't wrong. but usually, use "trace_kmem_cache_alloc/trace_kmem_cache_free" to track memory allocation and free. this commit therefore use kmem_cache_free() instead of kfree() in alloc_and_link_pwqs() and also consistent with release of the pwq in rcu_free_pwq(). Signed-off-by: Zqiang <qiang.zhang1211@gmail.com> Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
parent
bd9e7326b8
commit
7b42f401fc
1 changed files with 6 additions and 2 deletions
|
@ -4610,8 +4610,12 @@ static int alloc_and_link_pwqs(struct workqueue_struct *wq)
|
|||
|
||||
enomem:
|
||||
if (wq->cpu_pwq) {
|
||||
for_each_possible_cpu(cpu)
|
||||
kfree(*per_cpu_ptr(wq->cpu_pwq, cpu));
|
||||
for_each_possible_cpu(cpu) {
|
||||
struct pool_workqueue *pwq = *per_cpu_ptr(wq->cpu_pwq, cpu);
|
||||
|
||||
if (pwq)
|
||||
kmem_cache_free(pwq_cache, pwq);
|
||||
}
|
||||
free_percpu(wq->cpu_pwq);
|
||||
wq->cpu_pwq = NULL;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue