Re: [PATCH v3] Crash: add lock to serialize crash hotplug handling

From: Valentin Schneider
Date: Thu Sep 28 2023 - 04:52:47 EST


On 26/09/23 20:09, Baoquan He wrote:
> Eric reported that handling corresponding crash hotplug event can be
> failed easily when many memory hotplug event are notified in a short
> period. They failed because failing to take __kexec_lock.
>
> =======
> [ 78.714569] Fallback order for Node 0: 0
> [ 78.714575] Built 1 zonelists, mobility grouping on. Total pages: 1817886
> [ 78.717133] Policy zone: Normal
> [ 78.724423] crash hp: kexec_trylock() failed, elfcorehdr may be inaccurate
> [ 78.727207] crash hp: kexec_trylock() failed, elfcorehdr may be inaccurate
> [ 80.056643] PEFILE: Unsigned PE binary
> =======
>
> The memory hotplug events are notified very quickly and very many,
> while the handling of crash hotplug is much slower relatively. So the
> atomic variable __kexec_lock and kexec_trylock() can't guarantee the
> serialization of crash hotplug handling.
>
> Here, add a new mutex lock __crash_hotplug_lock to serialize crash
> hotplug handling specifically. This doesn't impact the usage of
> __kexec_lock.
>
> Signed-off-by: Baoquan He <bhe@xxxxxxxxxx>

Reviewed-by: Valentin Schneider <vschneid@xxxxxxxxxx>