On Wed, Oct 17, 2012 at 4:19 AM, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote: > > The patch seems reasonable to me. I'd like to see some examples of > these resume-time callsite which are performing the GFP_KERNEL > allocations, please. You have found some kernel bugs, so those should > be fully described. OK, there are two examples of GFP_KERNEL allocation in subsystem runtime resume path: 1), almost all devices in some pci platform acpi_os_allocate <-acpi_ut_allocate <-ACPI_ALLOCATE_ZEROED <-acpi_evaluate_object <-__acpi_bus_set_power <-acpi_bus_set_power <-acpi_pci_set_power_state <-platform_pci_set_power_state <-pci_platform_power_transition <-__pci_complete_power_transition <-pci_set_power_state <-pci_restore_standard_config <-pci_pm_runtime_resume 2), all devices in usb subsystem usb_get_status <-finish_port_resume <-usb_port_resume <-generic_resume <-usb_resume_device <-usb_resume_both <-usb_runtime_resume I also have many examples in which GFP_KERNEL allocation is involved in runtime resume path of individual drivers. The above two examples just show how difficult to solve the problem by traditional way, :-) Also as pointed by Oliver, network driver need memory allocation with no io in iSCSI runtime resume situation too. Thanks, -- Ming Lei -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>