Re: åå: [PATCH v5] workqueue: Remove unnecessary kfree() call in rcu_free_wq()

From: Lai Jiangshan
Date: Thu May 28 2020 - 08:08:29 EST


On Thu, May 28, 2020 at 5:57 PM Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote:
>
> Guys, the patch is wrong. The kfree is harmless when this is called
> from destroy_workqueue() and required when it's called from
> pwq_unbound_release_workfn(). Lai Jiangshan already explained this
> already. Why are we still discussing this?
>

I'm also confused why they have been debating about the changelog
after the patch was queued. My statement was about "the patch is
a correct cleanup, but the changelog is totally misleading".

destroy_workqueue(percpu_wq) -> rcu_free_wq()
or
destroy_workqueue(unbound_wq) -> put_pwq() ->
pwq_unbound_release_workfn() -> rcu_free_wq()

So the patch is correct to me. Only can destroy_workqueue()
lead to rcu_free_wq().

Still, the kfree(NULL) is harmless. But it is cleaner
to have the patch. But the changelog is wrong, even after
the lengthened debating, and English is not my mother tongue,
so I just looked on.