Re: [RESEND] [PATCH] ACPI - change GFP_ATOMIC to GFP_KERNEL fornon-atomic allocation

From: Jiri Kosina
Date: Mon Aug 07 2006 - 21:11:12 EST


On Mon, 7 Aug 2006, Andrew Morton wrote:

> acpi_os_acquire_object() is fixed in -rc4. I queued the
> acpi_pci_link_set() improvement for sending on to Len, thanks.

Thanks. Unfortunately, looking at the refactorized ACPI code in
2.6.18-rc4, there are still issues with sleeping functions called with
disabled interrupts (during resume), in ACPI code.

Two random examples:

- when acpi_pci_link_set() is called during resume (local irqs off), the
following callchain happens, which is bad: acpi_pci_link_resume ->
acpi_pci_link_set -> acpi_set_current_resources ->
acpi_rs_set_srs_method_data -> acpi_ns_evaluate -> acpi_ns_get_node ..
here the mutex is acquired. Not good.

- device_power_up -> sysdev_resume -> __sysdev_resume -> cpufreq_resume ->
blocking_notifier_call_chain -> down on semaphore. Not good.

Is there any general idea for solution?

--
JiKos.
-
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/