linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] ACPI: container hot remove support.
@ 2012-10-23 13:10 Tang Chen
  2012-10-23 13:10 ` [PATCH 1/2] Use kacpi_hotplug_wq to handle container hotplug event Tang Chen
  2012-10-23 13:10 ` [PATCH 2/2] Improve container_notify_cb() to support container hot-remove Tang Chen
  0 siblings, 2 replies; 6+ messages in thread
From: Tang Chen @ 2012-10-23 13:10 UTC (permalink / raw)
  To: yinghai, bhelgaas, lenb, jiang.liu, izumi.taku, isimatu.yasuaki,
	linux-acpi, linux-pci, linux-kernel

Hi,

The container hotplug handler container_notify_cb() didn't implement
the hot-remove functionality. So, these 2 patches implement it like
the following way:

patch 1. Do not use kacpid_wq/kacpid_notify_wq to handle container hotplug event,
         use kacpi_hotplug_wq instead to avoid deadlock.
         Doing this is to reuse acpi_bus_hot_remove_device() in container
         hot-remove handling.

patch 2. Introduce a new function container_device_remove() to handle
         ACPI_NOTIFY_EJECT_REQUEST event for container.


In __acpi_os_execute(), we have the following comments:

        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.

Actually, I run into the deadlock caused by running hotplug code in
kacpid_wq/kacpid_notify_wq. And I'm not quite sure if I did the right
thing in patch1. So, please give some comments if you have a better idea.


This is based on Lu Yinghai's job.
git://git.kernel.org/pub/scm/linux/kernel/git/yinghai/linux-yinghai.git for-pci-split-pci-root-hp-2

Tang Chen (2):
  Use kacpi_hotplug_wq to handle container hotplug event.
  Container hot remove support.

 drivers/acpi/container.c |  102 +++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 92 insertions(+), 10 deletions(-)


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-10-25  1:26 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-23 13:10 [PATCH 0/2] ACPI: container hot remove support Tang Chen
2012-10-23 13:10 ` [PATCH 1/2] Use kacpi_hotplug_wq to handle container hotplug event Tang Chen
2012-10-23 17:36   ` Yinghai Lu
2012-10-24 17:33   ` Toshi Kani
2012-10-25  1:24     ` Tang Chen
2012-10-23 13:10 ` [PATCH 2/2] Improve container_notify_cb() to support container hot-remove Tang Chen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).