Re: [PATCH v9 1/2] kvm: Use a reserved IRQ source ID for irqfd

From: Avi Kivity
Date: Wed Sep 05 2012 - 11:35:21 EST


On 09/05/2012 06:28 PM, Michael S. Tsirkin wrote:

>> gsi 3 is configured as edge in the ioapic. It has (unusually) two
>> inputs: one driven by userspace, the other by irqfd.
>>
>> cpu 0 cpu 1
>> ------------------------ -------------------------
>> irqfd: set to 1
>> ioapic: recognize edge
>> inject irq
>> EOI
>> KVM_IRQ_LINE: set to 1
>> ioapic: ignore
>> KVM_IRQ_LINE: set to 0
>> irqfd: set to 0
>>
>> We had two edges with an EOI between them, but injected just on interrupt.
>
> I see. Makes sense, ACK this patch.

Actually it's wrong. The two sources are not synchronized, so there is
no way for them to know the two edges did not coalesce. On real
hardware, after all, edge interrupts have a non-zero pulse width, and
kvm faithfully emulates this.

But this patch makes sense for level irqfd, so we might as well keep it
with a different description.

--
error compiling committee.c: too many arguments to function
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/