RE: [PATCH 1/2] xhci: Avoid infinite loop when sg urb requires too many trbs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Sarah Sharp
> On Thu, Jan 09, 2014 at 10:56:44AM -0500, Alan Stern wrote:
> > On Thu, 9 Jan 2014, David Laight wrote:
> >
> > > From: Alan Stern
...
> > > > > Of course, if this is the pagedaemon trying to write out
> > > > > pages in order to generate some free kernel memory all is lost
> > > > > as soon as the usb subsystem need to allocate memory in order
> > > > > to perform a transfer.
> > > >
> > > > That never happens, because all memory allocation requests on the
> > > > storage I/O pathway are done using GFP_NOIO.
> > >
> > > Picking hairs - not the ones in the xhci driver if, for example,
> > > it has to extend the rings.
> >
> > If that is true, it is a bug in xhci-hcd.
> 
> The xHCI driver passes down GFP_ATOMIC to the URB queueing mechanisms,
> since they're called while holding the xhci spinlock, and that will be
> used in ring expansion.  I believe that's the correct memory flag.

I wasn't thinking about a direct problems with the allocate request
itself, but ones caused by having to allocate memory at all in these
code paths. Any allocations could cause 'swap over usb' to have
similar problems to 'swap over NFS'.

However I wouldn't worry too much about that this week.

	David



--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux