[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®.