From patchwork Thu Sep 8 02:39:04 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shen Canquan X-Patchwork-Id: 1128692 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter2.kernel.org (8.14.4/8.14.4) with ESMTP id p882dbOW020437 for ; Thu, 8 Sep 2011 02:39:44 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757865Ab1IHCjV (ORCPT ); Wed, 7 Sep 2011 22:39:21 -0400 Received: from szxga03-in.huawei.com ([119.145.14.66]:57684 "EHLO szxga03-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757485Ab1IHCjV (ORCPT ); Wed, 7 Sep 2011 22:39:21 -0400 Received: from huawei.com (szxga03-in [172.24.2.9]) by szxga03-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTP id <0LR6000HZNDHQ7@szxga03-in.huawei.com>; Thu, 08 Sep 2011 10:39:17 +0800 (CST) Received: from szxrg01-dlp.huawei.com ([172.24.2.119]) by szxga03-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTP id <0LR600JK9NDG5C@szxga03-in.huawei.com>; Thu, 08 Sep 2011 10:39:17 +0800 (CST) Received: from szxeml205-edg.china.huawei.com ([172.24.2.119]) by szxrg01-dlp.huawei.com (MOS 4.1.9-GA) with ESMTP id ADW02489; Thu, 08 Sep 2011 10:39:13 +0800 Received: from SZXEML404-HUB.china.huawei.com (10.82.67.59) by szxeml205-edg.china.huawei.com (172.24.2.57) with Microsoft SMTP Server (TLS) id 14.1.270.1; Thu, 08 Sep 2011 10:39:09 +0800 Received: from [127.0.0.1] (10.166.80.171) by szxeml404-hub.china.huawei.com (10.82.67.59) with Microsoft SMTP Server id 14.1.270.1; Thu, 08 Sep 2011 10:39:08 +0800 Date: Thu, 08 Sep 2011 10:39:04 +0800 From: "canquan.shen" Subject: [PATCH v2] acpi: Fix CPU hot removal problem X-Originating-IP: [10.166.80.171] To: "lenb@kernel.org" Cc: Bjorn Helgaas , "shemminger@vyatta.com" , "yakui.zhao@intel.com" , "xiaowei.yang@huawei.com" , hanweidong , linqiangmin@huawei.com, "linux-kernel@vger.kernel.org" , "linux-acpi@vger.kernel.org" Message-id: <4E682AC8.7040302@huawei.com> MIME-version: 1.0 Content-type: text/plain; charset=ISO-8859-1; format=flowed Content-transfer-encoding: 7BIT User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:6.0.2) Gecko/20110902 Thunderbird/6.0.2 X-CFilter-Loop: Reflected Sender: linux-acpi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter2.kernel.org [140.211.167.43]); Thu, 08 Sep 2011 02:39:44 +0000 (UTC) We run Linux as a guest in Xen environment. When used xen tools (xm vcpu-set ) to hot add and remove vcpu to and from the guest, we encountered the failure on vcpu removal. We found the reason is that it didn't go to really remove cpu in the cpu removal code path. This patch adds acpi_bus_trim in acpi_process_hotplug_notify to fix this issue. With this patch, it works fine for us. Signed-off-by: Canquan Shen --- drivers/acpi/processor_driver.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/drivers/acpi/processor_driver.c b/drivers/acpi/processor_driver.c index a1c564f..114592f 100644 --- a/drivers/acpi/processor_driver.c +++ b/drivers/acpi/processor_driver.c @@ -678,7 +678,11 @@ static void acpi_processor_hotplug_notify(acpi_handle handle, return; } + if (acpi_bus_trim(device, 1)) { + printk(KERN_ERR PREFIX + "Removing device failed\n"); + return; + } break; default: ACPI_DEBUG_PRINT((ACPI_DB_INFO,