[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAErSpo4JsyHag24SH=zSRHt4c8kYwdcXEnCConGEi2u6dN-pnw@mail.gmail.com>
Date: Mon, 5 Sep 2011 22:19:09 -0600
From: Bjorn Helgaas <bhelgaas@...gle.com>
To: Shen Canquan <shencanquan@...wei.com>
Cc: "lenb@...nel.org" <lenb@...nel.org>,
"rui.zhao@...el.com" <rui.zhao@...el.com>,
"shemminger@...tta.com" <shemminger@...tta.com>,
"yakui.zhao@...el.com" <yakui.zhao@...el.com>,
"xiaowei.yang@...wei.com" <xiaowei.yang@...wei.com>,
hanweidong <hanweidong@...wei.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-acpi@...r.kernel.org" <linux-acpi@...r.kernel.org>
Subject: Re: Re : [PATCH] acpi: Fix hot cpu remove problem on acpi subsystem
> 主题: [PATCH] acpi: Fix hot cpu remove problem on acpi subsystem
>
> In Xen virtualization environment, When I used xen tools (xm vcpu-set vcpu_number ) to test the vcpu add and remove, I found it is failure on vcpu remove, I found the reason is that nothing to do when cpu remove in acpi_processor_hotplug_notify function, so I add the code of send the OFFLINE message to udev and add the rule of udev. it is ok on vcpu remove.
> Signed-off-by: Shen canquan <shencanquan@...wei.com>
> ---
> drivers/acpi/processor_driver.c | 2 ++
> 1 files changed, 2 insertions(+), 0 deletions(-)
> diff --git a/drivers/acpi/processor_driver.c b/drivers/acpi/processor_driver.c
> index a4e0f1b..a1c564f 100644
> --- a/drivers/acpi/processor_driver.c
> +++ b/drivers/acpi/processor_driver.c
> @@ -677,6 +677,8 @@ static void acpi_processor_hotplug_notify(acpi_handle handle,
> "Driver data is NULL, dropping EJECT\n");
> return;
> }
> +
> + kobject_uevent(&device->dev.kobj, KOBJ_OFFLINE);
> break;
> default:
> ACPI_DEBUG_PRINT((ACPI_DB_INFO,
The processor driver used to generate ONLINE and OFFLINE messages. I
removed them with c1815e0740. According to the changelog, the driver
core still generates KOBJ_ADD and KOBJ_REMOVE events.
Could you fix the Xen vcpu add/remove problem by looking for
ADD/REMOVE events rather than ONLINE/OFFLINE?
I removed ONLINE/OFFLINE because I think hotplug should be handled in
the ACPI core, not in the drivers. Removing ONLINE/OFFLINE got rid of
one small piece of driver-specific hotplug handling. Obviously,
there's still a lot to do.
If using ADD/REMOVE is not sufficient, what is the justification for
needing both REMOVE and OFFLINE, and how would they be different?
Bjorn
--
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