Received: by 2002:a05:6a10:1d13:0:0:0:0 with SMTP id pp19csp301826pxb; Tue, 31 Aug 2021 22:20:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwo3jMxd1UHH41ICPB2S5WCAIrDdfY1YP76YKtImAfxDaudTnZj2iS5RQ9aQz2BtndemjcA X-Received: by 2002:a05:6e02:20cd:: with SMTP id 13mr23145465ilq.156.1630473624268; Tue, 31 Aug 2021 22:20:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1630473624; cv=none; d=google.com; s=arc-20160816; b=AAXFmHnwVPQvE+eSJKC0M8xeFgBV+7v6CvXJ3QElh/YNthcCSu/Qh/sZCSdrLg/NWj zwEybvJh/cZFg88Eu8ZqjWcyamPFbvFLxw2VB33hqUsU7tmGJgrPeO5eQsSTqAdu+tEi hyyVuHsJ0m1j5n52aEqf4zafZhs0ZH+ORLU9Cr9wESGotumKuhmxSDmUTbqqI4T1EEzD FArDQ1D7rI0Pb0yzLOY83KGs+nd0MmH9PZO5bU9mpFD7LMwysJhzImjf1CC3YYn77DHN s3Ba3Azr80U+XAZTOHuwlxNJ1R06k/BUeiOnFZdbW4qmzt1ViqQ8S/KADY7v7mMINC5a 2A6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=6+m9vaBpAtwLf/vbFzlg8je3fuHFIZE5zwHmZO5zt7U=; b=O3BW6/ikKh+kIQPAeuG861j4mc8u88pYPpL6E1Rh5b3VnvImkOXsWI2jJyDIoTwQiR G6NKRz+SP9HJsw3m9MtWjdmozvyatXg8o0xgU74bj25BHzmVfAUM4cl6r7EVVyWi2wlE OujpBTIRkD+Vbr+grMmtoe313Gis0n1/iuFMJyYRCr8cq8tgP2wkl3cU9jtPCt79okSP IaEsEoqVDweEDDzRwljcuWOcARF9ZcSJvSHdfXraOhSSVIKiOYm+Nv/K+DDgU1VkwSGE RkfzqpRLp3u53ePH6mXH4iTLQTI1CeMZPjbhmnbm1CfNPE54DKIiblrdFELAGzD/aMQD 0Kcg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r20si20448044jad.61.2021.08.31.22.20.12; Tue, 31 Aug 2021 22:20:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237454AbhIAFMq (ORCPT + 99 others); Wed, 1 Sep 2021 01:12:46 -0400 Received: from szxga03-in.huawei.com ([45.249.212.189]:15279 "EHLO szxga03-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230483AbhIAFMp (ORCPT ); Wed, 1 Sep 2021 01:12:45 -0400 Received: from dggemv711-chm.china.huawei.com (unknown [172.30.72.55]) by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4Gzsbc6T5vz8Cq2; Wed, 1 Sep 2021 13:11:24 +0800 (CST) Received: from dggpeml500016.china.huawei.com (7.185.36.70) by dggemv711-chm.china.huawei.com (10.1.198.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Wed, 1 Sep 2021 13:11:46 +0800 Received: from DESKTOP-27KDQMV.china.huawei.com (10.174.148.223) by dggpeml500016.china.huawei.com (7.185.36.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Wed, 1 Sep 2021 13:11:46 +0800 From: "Longpeng(Mike)" To: , , , , CC: , , "Longpeng(Mike)" Subject: [RFC] cpu/hotplug: allow the cpu in UP_PREPARE state to bringup again Date: Wed, 1 Sep 2021 13:11:43 +0800 Message-ID: <20210901051143.2752-1-longpeng2@huawei.com> X-Mailer: git-send-email 2.25.0.windows.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=US-ASCII X-Originating-IP: [10.174.148.223] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To dggpeml500016.china.huawei.com (7.185.36.70) X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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) --- 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