Messages in this thread | | | Subject | Re: [RFC] usb: host: u132-hcd: Remove deprecated create_singlethread_workqueue | From | Oliver Neukum <> | Date | Tue, 02 Aug 2016 10:06:12 +0200 |
| |
On Mon, 2016-08-01 at 10:20 -0400, Tejun Heo wrote: > Hello,
> > If any real IO depends on those devices then this is not sufficient and > > they need some form of guarantee for progress (aka mempool). > > Oliver, Alan, what do you think? If USB itself can't operate without > allocating memory during transactions, whatever USB storage drivers
It cannot. The IO must be described to the hardware with a data structure in memory.
> are doing isn't all that meaningful. Can we proceed with the > workqueue patches? Also, it could be that the only thing GFP_NOIO and > GFP_ATOMIC are doing is increasing the chance of IO failures under > memory pressure. Maybe it'd be a good idea to reconsider the > approach?
We had actual deadlocks with GFP_KERNEL. It seems to me that the SCSI layer can deal with IO that cannot be completed due to a lack of memory at least somewhat, but a deadlock within a driver would obviously be deadly. So I don't think that mempools would remove the need for GFP_NOIO as there are places in usbcore we cannot enter the page laundering path from. They are an additional need.
Regards Oliver
| |