Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753970Ab3HFDId (ORCPT ); Mon, 5 Aug 2013 23:08:33 -0400 Received: from fgwmail5.fujitsu.co.jp ([192.51.44.35]:36967 "EHLO fgwmail5.fujitsu.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753678Ab3HFDIb (ORCPT ); Mon, 5 Aug 2013 23:08:31 -0400 X-SecurityPolicyCheck: OK by SHieldMailChecker v2.0.1 X-SHieldMailCheckerPolicyVersion: FJ-ISEC-20120718-3 Message-ID: <52006888.5030203@jp.fujitsu.com> Date: Tue, 6 Aug 2013 12:07:52 +0900 From: Yasuaki Ishimatsu User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20130620 Thunderbird/17.0.7 MIME-Version: 1.0 To: , , CC: , Subject: acpi_bus_trim does not detach devices in post order Content-Type: text/plain; charset="ISO-2022-JP" Content-Transfer-Encoding: 7bit X-SecurityPolicyCheck-GC: OK by FENCE-Mail Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2192 Lines: 58 I acked the following commit but I hit a problem by the commit. So I report it. commit cecdb193c8d91a42d9489d00618cc3dfff92e55a Author: Rafael J. Wysocki Date: Tue Jan 15 13:24:02 2013 +0100 ACPI / scan: Change the implementation of acpi_bus_trim() Before applying the commit, acpi_bus_trim() detachs devices in post order. When I hot add memory devices and processor devices by container device in my x86 box, memory devices are added first and processor devices are added second. So I expect that processor devices are removed first and memory devices are removed second when I remove them. And before applying the commit, acpi_bus_trim() did so. But after appling the commit, acpi_bus_trim() does not detach devices in post order. So when I remove them, memory devices are removed first and processor devices are removed second. By this, I hit a problem. In Linux on x86 arch, NUMA node is depend on memory devices. So new NUMA node is created at memory hot adding. Thus when I hot add memory devices and processor devices, we must hot add memory device first. Otherwise, processor devices are not set to correct NUMA node number. And Linux expects that when removing them, processor devices are removed first before removing memory devices. But acpi_bus_trim() does not do so. By this, NUMA node is not cleared in my x86 box when hot removing memory device and processor devices. When removing memory devices, NUMA node is cleared. But if there are processor devices related with the NUMA node, NUMA node is not be cleared at memory hot removing. So when I remove them, NUMA node's sysfs file remained as follows: # ls /sys/devices/system/node/node1/ compact cpumap meminfo power subsystem vmstat cpulist distance numastat scan_unevictable_pages uevent CPU and memory sysfs files are removed correctly. But node1 sysfs file remained. Thanks, Yasuaki Ishimatsu -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/