aboutsummaryrefslogtreecommitdiff
path: root/hw/misc/ivshmem.c
diff options
context:
space:
mode:
authorEvgeny Yakovlev <eyakovlev@virtuozzo.com>2016-07-27 19:55:20 +0300
committerGerd Hoffmann <kraxel@redhat.com>2016-08-02 13:35:24 +0200
commit72aa364b1d9daa889bb5898ea4aded9d27fd1c96 (patch)
treebb52004dc263716b2baf7b2da2aab04e7f020ce1 /hw/misc/ivshmem.c
parentc16e366464a1884c355e85878874afffa790ecbf (diff)
ehci: faster frame index calculation for skipped frames
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. Signed-off-by: Evgeny Yakovlev <eyakovlev@virtuozzo.com> Signed-off-by: Denis V. Lunev <den@openvz.org> Message-id: 1469638520-32706-1-git-send-email-den@openvz.org CC: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/misc/ivshmem.c')
0 files changed, 0 insertions, 0 deletions