[GIT PULL] KVM/riscv fixes for 5.19, take #2
Paolo Bonzini
pbonzini at redhat.com
Wed Jul 13 00:27:38 PDT 2022
On 7/13/22 09:17, Anup Patel wrote:
> On Wed, Jul 13, 2022 at 11:30 AM Paolo Bonzini <pbonzini at redhat.com> wrote:
>>
>> On 7/13/22 07:47, Anup Patel wrote:
>>> Hi Paolo,
>>>
>>> We have two more fixes for 5.19 which were discovered recently:
>>> 1) Fix missing PAGE_PFN_MASK
>>> 2) Fix SRCU deadlock caused by kvm_riscv_check_vcpu_requests()
>>
>> Pulled, thanks.
>>
>> For the latter, my suggestion is to remove KVM_REQ_SLEEP completely and
>> key the waiting on kvm_arch_vcpu_runnable using kvm_vcpu_halt or
>> kvm_vcpu_block.
>
> We are using KVM_REQ_SLEEP for VCPU hotplug. The secondary
> VCPUs will block until woken-up by using an SBI call from other VCPU.
> This is different from blocking on WFI where VCPU will wake-up upon
> any interrupt.
Yes, I understand. The idea is to have something like
if (kvm_arch_vcpu_runnable())
vcpu_enter_guest(vcpu);
else
kvm_vcpu_block(vcpu);
instead of using KVM_REQ_SLEEP to enter the blocking loop. This works
for both WFI and hotplug, the only difference between the two cases is
the event that changes kvm_arch_vcpu_runnable() to true.
Paolo
> I agree with your suggestion, we should definitely use kvm_vcpu_block()
> here.
>
>>
>> Also, I only had a quick look but it seems like vcpu->arch.pause is
>> never written?
>
> Yes, the vcpu->arch.pause is redundant. I will remove it.
>
>>
>> Paolo
>>
>
> Thanks,
> Anup
>
More information about the kvm-riscv
mailing list