Re: KVM Arm Device passthrough and linux-rt

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

 



On 04/06/2019 14:16, Steven Rostedt wrote:
> On Tue, 4 Jun 2019 13:58:51 +0100
> Julien Grall <julien.grall@xxxxxxx> wrote:
> 
>> This is happening because vgic_v2_fold_lr_state() is expected
>> to be called with interrupt disabled. However, some of the path
>> (e.g eventfd) will take a spinlock.
>>
>> The spinlock is from the waitqueue, so using a raw_spin_lock cannot
>> even be considered.
>>
>> Do you have any input on how this could be solved?
> 
> What's the reason that vgic_v2_fold_lr_state() expects interrupts to be
> disabled?

That's to prevent the injection of an interrupt firing on the same CPU
while we're saving the corresponding vcpu interrupt context, among other
things (the whole guest exit path runs with interrupt disabled in order
to avoid this kind of thing).

One possibility would be to accumulate the set of interrupt that require
resampling (which is bound to be small, the number of LRs at most) and
call kvm_notify_acked_irq on that set once interrupts are re-enabled.

I'll have a look...

	M.
-- 
Jazz is not dead. It just smells funny...
_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/mailman/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