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

From: Yinghai Lu
Date: Tue Oct 23 2012 - 13:36:08 EST


On Tue, Oct 23, 2012 at 6:10 AM, Tang Chen <tangchen@xxxxxxxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/