|
|
|
Re: bisected regression, v3.5 -> next-20120724: PCI PM causes USB hotplug failure | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] |
|
On Saturday, July 28, 2012, Alan Stern wrote: > On Fri, 27 Jul 2012, Rafael J. Wysocki wrote: > > > > > > > + if (parent) > > > > > > + pm_runtime_put(parent); > > > > > > > > > > You should use pm_runtime_put_sync(), not pm_runtime_put(). > > > > > > > > Hmm, why exactly? > > > > > > Because it's more efficient to do something directly than to run it in > > > a workqueue. > > > > Well, depends. If that results in a power off (the parent goes into > > D3 for example), we may wait as long as 10 ms for that to complete. > > True, but so what? You'd also have to wait 10 ms for the workqueue > item to complete if pm_runtime_put() was used, Are you sure? pm_runtime_put() leads to rpm_idle() with the RPM_ASYNC flag set, which causes it to queue up the work item and return immediately without waiting. Why exactly do you think I'd need to wait, then? > plus the additional overhead of scheduling the workqueue thread. > > Now, if the length of time required for the probe to run were an issue > then yes, the synchronous routine could make things take longer. But > probing is generally done asynchronously anyway, right? And usually > what matters is the time before the device becomes available, not the > time for the probe to run. Still, I see no reason to wait synchronously for the _parent_ to suspend. Thanks, Rafael -- 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

[Linux Media] [Video for Linux] [Linux Input] [Linux Audio Users] [Photo] [Yosemite News] [Yosemite Photos] [Free Online Dating] [Linux Kernel] [Linux SCSI] [Old Linux USB Devel Archive] [More Archives]
![]() |
![]() |