Re: [RFC] cpu/hotplug: allow the cpu in UP_PREPARE state to bringup again

From: Sebastian Andrzej Siewior
Date: Thu Sep 30 2021 - 10:01:23 EST


On 2021-09-01 13:11:43 [+0800], Longpeng(Mike) wrote:
> The cpu's cpu_hotplug_state will be set to CPU_UP_PREPARE before
> the cpu is waken up, but it won't be reset when the failure occurs.
> Then the user cannot to make the cpu online anymore, because the
> CPU_UP_PREPARE state makes cpu_check_up_prepare() unhappy.
>
> We should allow the user to try again in this case.

Can you please describe where it failed / what did you reach that state?

> Signed-off-by: Longpeng(Mike) <longpeng2@xxxxxxxxxx>
> ---
> kernel/smpboot.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/kernel/smpboot.c b/kernel/smpboot.c
> index f6bc0bc..d18f8ff 100644
> --- a/kernel/smpboot.c
> +++ b/kernel/smpboot.c
> @@ -392,6 +392,13 @@ int cpu_check_up_prepare(int cpu)
> */
> return -EAGAIN;
>
> + case CPU_UP_PREPARE:
> + /*
> + * The CPU failed to bringup last time, allow the user
> + * continue to try to start it up.
> + */
> + return 0;
> +
> default:
>
> /* Should not happen. Famous last words. */
> --
> 1.8.3.1

Sebastian