Thread (8 messages) 8 messages, 4 authors, 2012-10-25

Re: [PATCH 1/2] Use kacpi_hotplug_wq to handle container hotplug event.

From: Yinghai Lu <yinghai@kernel.org>
Date: 2012-10-23 17:36:18
Also in: linux-pci, lkml

On Tue, Oct 23, 2012 at 6:10 AM, Tang Chen [off-list ref] wrote:
As the comments in __acpi_os_execute() said:

        We can't run hotplug code in keventd_wq/kacpid_wq/kacpid_notify_wq
        because the hotplug code may call driver .remove() functions,
        which invoke flush_scheduled_work/acpi_os_wait_events_complete
        to flush these workqueues.

we should keep the hotplug code in kacpi_hotplug_wq.

But we have the following call series in kernel now:
        acpi_ev_queue_notify_request()
        |--> acpi_os_execute()
             |--> __acpi_os_execute(type, function, context, 0)

The last parameter 0 makes the container_notify_cb() executed in
kacpi_notify_wq or kacpid_wq. So, we need to put the real hotplug code
into kacpi_hotplug_wq.
I had other patches that merge acpi_hp_work in acpiphp and pci_root_hp.

I just put them in to for-pci-split-pci-root-hp-2.

can you check them to see if you can use it?

Thanks

Yinghai
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help