[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <50B368CC.1050907@huawei.com>
Date: Mon, 26 Nov 2012 21:04:12 +0800
From: Hanjun Guo <guohanjun@...wei.com>
To: Tang Chen <tangchen@...fujitsu.com>
CC: Yasuaki Ishimatsu <isimatu.yasuaki@...fujitsu.com>,
"Rafael J. Wysocki" <rjw@...k.pl>, <yinghai@...nel.org>,
<bhelgaas@...gle.com>, <lenb@...nel.org>, <jiang.liu@...wei.com>,
<izumi.taku@...fujitsu.com>, <linux-acpi@...r.kernel.org>,
<linux-pci@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
Wen Congyang <wency@...fujitsu.com>,
Toshi Kani <toshi.kani@...com>,
Vasilis Liaskovitis <vasilis.liaskovitis@...fitbricks.com>
Subject: Re: [PATCH v3 0/3] ACPI: container hot remove support.
On 2012/11/26 14:06, Tang Chen wrote:
> On 11/26/2012 01:42 PM, Hanjun Guo wrote:
>>
>> Hi all,
>> I think Yasuaki mentioned the key point for the container device remove,
>> that is dependency.
>>
>> Currently, container, processor, and memory hotpulg are managed by different ACPI
>> hotplug drivers, the driver works when handle device hotplug individually, but they
>> have no idea for each other.
>>
>> This may introduce some issues, such as Yasuaki mentioned above, that is to say, we
>> should remove its child before remove the device itself, and hot add its parent before
>> the device itself.
>>
>> According to the ACPI namespace, we can resolve most of dependency issues. On a typical
>> two processor sockets system, the namespace is like this:
>>
>> /_SB ---container device, with HID ACPI0004
>> |_SCK0 ---container device, with HID ACPI0004
>> |_CPU0 ---processor device, with HID ACPI0009 or LNXCPU
>> |_...
>> |_CPUx
>> |_MEM0 ---Memory device, with HID PNP0C80
>> |_SCK1
>> |_CPU0
>> |_...
>> |_CPUx
>> |_MEM1
>> |_PCI0 ---Host bridge, with HID PNP0A03 or PNP0A08
>>
>> If hot remove the container device, such as SCK0, we can easily know the dependency list
>> is CPU0~CPUx and MEM0, but I think the ACPI hotplug driver haven't resolve this now.
>>
>> And there is another corner case for hotplug devices in the namespace above, that is:
>> 1) Remove SCK0. yes, we can remove it with no dependency to the host bridge PCI0;
>>
>> 2) Remove SCK1 after SCK0. we should remove the host bridge PCI0 first,
>> or the system will crash down. yes, dynamic dependency analysis is needed here.
>> and the ACPI hotplug driver totally have no idea of this.
>>
>> so, should we do something to settle this down ?
>
> Hi Guo,
>
> I am trying to do this too. :)
>
> But so far as I know, Vasilis Liaskovitis has provided an approach.
> Please refer to the following url.
> https://lkml.org/lkml/2012/11/15/159
>
> I think we can review his patches first. :)
Yes, I noticed Vasilis Liaskovitis's patch and the discussion from
Greg and Toshi, Greg suggested that no driver core changes to resolve
this problem, so we should find another way.
>
> And by the way, I think the ACPI based hotplug framework provided by
> Liu Jiang may also settle this problem. But I'm not quit sure yet. :)
The ACPI based hotplug framework provided by Jiang Liu has settle this
problem down, you may refer to:
https://lkml.org/lkml/2012/11/4/64
Thanks
Hanjun Guo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists