|
From: | Gerd Hoffmann |
Subject: | Re: [Qemu-devel] [PATCH] qxl: send interrupt after migration in case ram->int_pending != 0, RHBZ #732949 |
Date: | Wed, 31 Aug 2011 12:23:52 +0200 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.20) Gecko/20110805 Red Hat/3.1.12-1.el6_1 Thunderbird/3.1.12 |
On 08/31/11 10:20, Yonit Halperin wrote:
if qxl_send_events was called from spice server context, and then migration had completed before a call to pipe_read, the target guest qxl driver didn't get the interrupt. In addition, qxl_send_events ignored further interrupts of the same kind, since ram->int_pending was set. As a result, the guest driver was stacked or very slow (when the waiting for the interrupt was with timeout).
- if (!running&& qxl->mode == QXL_MODE_NATIVE) { + if (running) { + if (qxl->ram->int_pending) { + /* + * if qxl_send_events was called from spice server context before + * migration ended, qxl_set_irq for these events might not have been called + */ + qxl_set_irq(qxl); + }
You can call qxl_set_irq unconditionally, it checks for int_pending anyway. cheers, Gerd
[Prev in Thread] | Current Thread | [Next in Thread] |