回复: 回复: [PATCH] debugobjects: install cpu hotplug callback
From: Zhang, Qiang
Date: Wed Aug 26 2020 - 04:35:01 EST
________________________________________
发件人: linux-kernel-owner@xxxxxxxxxxxxxxx <linux-kernel-owner@xxxxxxxxxxxxxxx> 代表 Thomas Gleixner <tglx@xxxxxxxxxxxxx>
发送时间: 2020年8月26日 7:53
收件人: Waiman Long; Zhang, Qiang; elver@xxxxxxxxxx
抄送: linux-kernel@xxxxxxxxxxxxxxx; akpm@xxxxxxxxxxxxxxxxxxxx
主题: Re: 回复: [PATCH] debugobjects: install cpu hotplug callback
On Tue, Aug 25 2020 at 18:26, Waiman Long wrote:
> On 8/25/20 12:53 AM, Zhang, Qiang wrote:
>>
>> When a cpu going offline, we should free objects in "percpu_obj_pool"
>> free_objs list which corresponding to this cpu.
>
> The percpu free object pool is supposed to be accessed only by that
> particular cpu without any lock. Trying to access it from another cpu
> can cause a race condition unless one can make sure that the offline cpu
> won't become online in the mean time.
>It is actually safe because CPU hotplug is globally serialized and there
>is no way that an offline CPU will come back from death valley
>magically. If such a zombie ever surfaces then we have surely more
>serious problems than accessing that pool :)
> There shouldn't be too many free objects in the percpu pool. Is it
> worth the effort to free them?
>That's a really good question nevertheless. The only case where this
>ever matters is physical hotplug. All other CPU hotplug stuff is
>temporarily or in case of a late (post boottime) SMT disable it's going
>to be a handful of free objects on that pool. As debugobjects is as the
>name says a debug facility the benefit is questionable unless there is a
>good reason to do so.
I don't know there may not be too many objects in the percpu pool,
but that doesn't mean they no need to be free, a CPU may never be online after it is offline. some objects in percpu pool is never free.
>Thanks,
> tglx