Re: [Android-virt] [PATCH v9 11/16] ARM: KVM: Inject IRQs and FIQs from userspace

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

 



On 7 August 2012 15:28, Avi Kivity <avi@xxxxxxxxxx> wrote:
> On 08/07/2012 05:12 PM, Peter Maydell wrote:
>> On 7 August 2012 14:59, Avi Kivity <avi@xxxxxxxxxx> wrote:
>>> What do you mean by "per-vcpu version of KVM_IRQ_LINE"?
>>
>> The ARM VGIC implementation implements "I need to raise per-CPU
>> interrupt X" by providing a vcpu ioctl KVM_IRQ_LINE (this is
>> in addition to the vm ioctl KVM_IRQ_LINE which it uses for
>> "I need to raise the external interrupt X").
>> The patch updating the API documentation is this one:
>> https://lists.cs.columbia.edu/pipermail/kvmarm/2012-July/001206.html
>
> Yikes.  "vm ioctl (and vcpu_ioctl on ARM)" is just horrible.  First, use
> a different ioctl.  Second, vcpu ioctls are synchronous, you must call
> them from a vcpu thread (think syscall operating on current).  You want
> something asynchronous.
>
> How about using the vm ioctl, with a range of numbers allocated for
> per-processor interrupts?  In fact the documentation appears to say you
> already did this.

That's how the non-VGIC interrupt delivery works. Where this thread
started was me saying "that looks pretty ugly because you have to
encode the CPU number in the interrupt number somehow, why not just
use a vcpu ioctl instead"...

Whatever we do I do think (a) we should be consistent between
VGIC and non-VGIC (b) ideally it shouldn't be an ARM-specific
way of doing things.

-- PMM
_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm


[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux