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

From: Longpeng(Mike)
Date: Wed Sep 01 2021 - 01:11:52 EST


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.

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