[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Virtio in Xen on Arm (based on IOREQ concept)



(+ Andre)

Hi Oleksandr,

On 21/07/2020 13:26, Oleksandr wrote:
On 20.07.20 23:38, Stefano Stabellini wrote:
For instance, what's your take on notifications with virtio-mmio? How
are they modelled today? Are they good enough or do we need MSIs?

Notifications are sent from device (backend) to the driver (frontend) using interrupts. Additional DM function was introduced for that purpose xendevicemodel_set_irq_level() which results in vgic_inject_irq() call.

Currently, if device wants to notify a driver it should trigger the interrupt by calling that function twice (high level at first, then low level).

This doesn't look right to me. Assuming the interrupt is trigger when the line is high-level, the backend should only issue the hypercall once to set the level to high. Once the guest has finish to process all the notifications the backend would then call the hypercall to lower the interrupt line.

This means the interrupts should keep firing as long as the interrupt line is high.

It is quite possible that I took some shortcut when implementing the hypercall, so this should be corrected before anyone start to rely on it.

Cheers,

--
Julien Grall



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.