On Tue, Dec 03, 2013 at 03:49:45PM -0500, Alan Stern wrote: > On Tue, 3 Dec 2013, Sarah Sharp wrote: > > > Hi Oliver and Takashi, > > > > In 3.12-rc5, I merged this patch from you: > > > > commit 638298dc66ea36623dbc2757a24fc2c4ab41b016 > > Author: Takashi Iwai <tiwai@xxxxxxx> > > Date: Thu Sep 12 08:11:06 2013 +0200 > > ... > > This patch introduces a new quirk, XHCI_SPURIOUS_WAKEUP, for > > fixing the spurious wakeups at S5 by calling xhci_reset() in the xhci > > shutdown ops as done in xhci_stop(), and setting the device to PCI D3 > > at shutdown and remove ops. > ... > > > When testing with Intel BIOSes on Lynx Point LP systems, we found that > > it increases the xHCI module load time by about 100ms (load time is > > normally around 30ms). Load time is increased both when the module is > > loaded at boot, and when the module is unloaded and reloaded with > > modprobe. Measurements were taken by adding initcall_debug to the > > kernel boot parameters, and looking at how long it took xhci_hcd_init to > > return. > > > > I'd like to avoid a 3x increase in xHCI module load time at boot. Would > > it be possible to narrow the quirk down to systems with the particular > > BIOS installed that needs the host to be in D3 before S5? > > If all the commit does is change the behavior when the module is > unloaded, why should it make any difference to the load time? That > doesn't make any sense. Yeah, it doesn't make much sense to me either. But I can reproduce the behavior on my Lenovo x230 if I add the PCI ID of my Intel Panther Point xHCI host controller to the quirk. Without the quirk, when I load the driver after boot with modprobe, xhci_init takes on average 44ms to complete. With the quirk, it takes 74ms on average. I haven't measured boot time too many times, but it also seems to be increased by around 40ms. The patch only touches the PCI and platform remove function, adding a host controller reset and putting the host in D3. Maybe on module reload, it takes longer to get the host into D0? I don't see why that would impact module load times at boot though. So, yeah, I'm stumped on this one. Sarah Sharp -- 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