On Mi, 2016-07-27 at 19:55 +0300, Denis V. Lunev wrote: > ehci_update_frindex takes time linearly proportional to a number > of uframes to calculate new frame index and raise FLR interrupts, > which is a problem for large amounts of uframes. > > If we experience large delays between echi timer callbacks (i.e. > because > other periodic handlers have taken a lot of time to complete) we > get a lot of skipped frames which then delay ehci timer callback more > and this leads to deadlocking the system when ehci schedules next > callback to be too soon. > > Observable behaviour is qemu consuming 100% host CPU time while guest > is unresponsive. This misbehavior could happen for a while and QEMU > does > not get out from this state automatically without the patch. > > This change makes ehci_update_frindex execute in constant time. >
queued up for 2.7 thanks, Gerd