Messages in this thread | | | Date | Mon, 16 Jan 2017 12:09:20 -0500 (EST) | From | Alan Stern <> | Subject | Re: Memory barrier needed with wake_up_process()? |
| |
On Mon, 16 Jan 2017, Felipe Balbi wrote:
> Sorry for the long delay, I finally have more information on this. All > this time I was doing something that I never considered to matter: I've > been running host and peripheral on the same machine. Now that I have > tracepoints on xHCI as well, I could see that these 30 seconds of > "nothing" is actuall full of xHCI activity and I can see that for the > duration of these 30 seconds preempt depth on the CPU that (eventually) > queues a request on dwc3, is always > 1 (sometimes 2, most of the time > 1). My conclusion from that is that xHCI (or usbcore ?!?) locks the CPU > and g_mass_storage is spinning for over 30 seconds at which point > storage.ko (host side class driver) dequeues the request. > > I'll see if I can capture a fresh trace with both xHCI and dwc3 with > this happening, but probably not today (testing stuff for -rc).
Does anything change if the host and peripheral are separate machines?
Alan Stern
| |