Re: [PATCH v2] cpu/hotplug: wait for cpuset_hotplug_work to finish on cpu onlining

From: Daniel Jordan
Date: Thu Mar 18 2021 - 15:13:54 EST


Alexey Klimov <aklimov@xxxxxxxxxx> writes:
> The first section of comment seems problematic to me with regards to such move:
>
> * As this needs to hold the cpu maps lock it's impossible
> * to call device_offline() because that ends up calling
> * cpu_down() which takes cpu maps lock. cpu maps lock
> * needs to be held as this might race against in kernel
> * abusers of the hotplug machinery (thermal management).
>
> Cpu maps lock is released in cpu_maps_update_done() hence we will move
> dev->offline out of cpu maps lock. Maybe I misunderstood the comment
> and it relates to calling cpu_down_maps_locked() under lock to avoid
> race?

Yes, that's what I take from the comment, the cpu maps lock protects
against racing hotplug operations.