[Spice-devel] [Qemu-devel] [PATCH] qxl: send interrupt after migration in case ram->int_pending != 0, RHBZ #732949

Yonit Halperin yhalperi at redhat.com
Wed Aug 31 04:18:01 PDT 2011


On 08/31/2011 01:23 PM, Gerd Hoffmann wrote:
> 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.
>
Hi,
qxl_set_irq doesn't test int_pending, but it will call qemu_set_irq 
with level=0 if !int_pending.
> cheers,
> Gerd
>



More information about the Spice-devel mailing list