lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 06 Sep 2011 14:48:52 +0800
From:	"canquan.shen" <shencanquan@...wei.com>
To:	Bjorn Helgaas <bhelgaas@...gle.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

On 2011/9/6 12:19, Bjorn Helgaas wrote:
>> 主题: [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.
>

Thanks for your answer.
When I used xen tools (xm vcpu-set vcpu_numer) to reduce the cpu number. 
I don't found any event . I use the following tool to capture the event: 
udevadm monitor --env --kernel --udev.

If I used xen tools to add the cpu number , udev module will receive the 
KOBJ_ADD event.

In my patch ,It is more fine to replace KOBJ_OFFLINE to KOBJ_REMOVE event .

btw: how to find changelog of the c1815e0740.

> Could you fix the Xen vcpu add/remove problem by looking for
> ADD/REMOVE events rather than ONLINE/OFFLINE?
>

Xen vcpu add/remove module has send the sci interrupt to linux ACPI Core 
module. the sci interrupt handler function (acpi_ev_gpe_xrupt_handler) 
has hanled it and called to AML code of processor to add and remove cpu. 
and then call back acpi_processor_hotplug_notify function to notify 
linux acpi processor driver .



> 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?
>

I think the device of processor add and remove should be handle in 
processor driver . The ONLINE/OFFLINE function of CPU should be handle 
in linux kernel. so when removing cpu by Xen. at first it should be 
notify linux kernel to offline the cpu and then remove the device of 
processor.

btw: I found acpi_eject_store function in driver/acpi/scan.c will deal 
the offline cpu and remove the device of processor.


> 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

Powered by Openwall GNU/*/Linux Powered by OpenVZ