Messages in this thread | | | Date | Wed, 31 Oct 2012 11:41:07 -0400 (EDT) | From | Alan Stern <> | Subject | Re: [PATCH v3 2/6] PM / Runtime: introduce pm_runtime_set[get]_memalloc_noio() |
| |
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
| |