On Wed, 31 Oct 2012, Alan Stern wrote: > On Wed, 31 Oct 2012, Ming Lei wrote: > > > The below idea may help the problem which 'memalloc_noio' flag isn't set during > > usb_reset_device(). > > > > - for usb mass storage device, call pm_runtime_set_memalloc_noio(true) > > inside usb_stor_probe2() and uas_probe(), and call > > pm_runtime_set_memalloc_noio(false) inside uas_disconnect() > > and usb_stor_disconnect(). > > Why would you want to do that? The probe and disconnect routines > usually -- but not always -- run in the khubd thread. Surely you don't > want to prevent khubd from using GFP_KERNEL? > > And what if probe runs in khubd but disconnect runs in a different > thread? Sorry, I misread your message. You are setting the device's flag, not the thread's flag. This still doesn't help in this case where CONFIG_PM_RUNTIME is disabled. I think it will be simpler to set the noio flag during every device reset. Alan Stern -- 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>