On Mon 20-07-20 13:38:07, Alan Stern wrote: > On Mon, Jul 20, 2020 at 06:33:55PM +0200, Michal Hocko wrote: > > On Mon 20-07-20 11:12:55, Alan Stern wrote: > > [...] > > > sudo echo 'module usbcore =p' >/debug/dynamic_debug/control > > > > > > Then wait long enough for some interesting messages to appear in the > > > kernel log (it should only take a few seconds if the worker thread is as > > > busy as you say) and collect the output from the dmesg command. > > > > > > To turn dynamic debugging back off when you're finished, use the same > > > command with "=p" changed to "-p". > > > > [ 95.395815] hub 2-0:1.0: state 7 ports 6 chg 0006 evt 0000 > > [ 95.395824] usb usb2-port1: status 0088, change 0000, 5.0 Gb/s > > [ 95.395838] usb usb2-port2: status 0088, change 0000, 5.0 Gb/s > > [ 95.396016] hub 2-0:1.0: hub_suspend > > [ 95.396023] usb usb2: bus auto-suspend, wakeup 1 > > [ 95.396029] usb usb2: bus suspend fail, err -16 > > Okay, that's the problem. You may get more specific information about > the suspend failure if you turn on dynamic debugging for the xhci-hcd > module (same command as above but with xhci-hcd instead of usbcore).
Would that help to pinpoint the problem down? > If you want a quick way to prevent this from happening, you can do: > > sudo echo on >/sys/bus/usb/devices/usb2/power/control > > That won't actually fix anything, but it will stop the system from > automatically trying to suspend usb2 root hub. Yes, that helped to put some relief to the machine. -- Michal Hocko SUSE Labs