lkml.org 
[lkml]   [2020]   [May]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 0/8] KVM: x86: Interrupt-based mechanism for async_pf 'page present' notifications
Hi Vitaly,

Are there any corresponding qemu patches as well to enable new
functionality. Wanted to test it.

Thanks
Vivek

On Mon, May 11, 2020 at 06:47:44PM +0200, Vitaly Kuznetsov wrote:
> Concerns were expressed around (ab)using #PF for KVM's async_pf mechanism,
> it seems that re-using #PF exception for a PV mechanism wasn't a great
> idea after all. The Grand Plan is to switch to using e.g. #VE for 'page
> not present' events and normal APIC interrupts for 'page ready' events.
> This series does the later.
>
> Changes since RFC:
> - Using #PF for 'page ready' is deprecated and removed [Paolo Bonzini]
> - 'reason' field in 'struct kvm_vcpu_pv_apf_data' is not used for 'page ready'
> notifications and 'pageready_token' is not used for 'page not present' events
> [Paolo Bonzini]
> - Renamed MSR_KVM_ASYNC_PF2 -> MSR_KVM_ASYNC_PF_INT [Peter Xu]
> - Drop 'enabled' field from MSR_KVM_ASYNC_PF_INT [Peter Xu]
> - Other minor changes supporting the above.
>
> Vitaly Kuznetsov (8):
> Revert "KVM: async_pf: Fix #DF due to inject "Page not Present" and
> "Page Ready" exceptions simultaneously"
> KVM: x86: extend struct kvm_vcpu_pv_apf_data with token info
> KVM: introduce kvm_read_guest_offset_cached()
> KVM: x86: interrupt based APF page-ready event delivery
> KVM: x86: acknowledgment mechanism for async pf page ready
> notifications
> KVM: x86: announce KVM_FEATURE_ASYNC_PF_INT
> KVM: x86: Switch KVM guest to using interrupts for page ready APF
> delivery
> KVM: x86: drop KVM_PV_REASON_PAGE_READY case from
> kvm_handle_page_fault()
>
> Documentation/virt/kvm/cpuid.rst | 6 ++
> Documentation/virt/kvm/msr.rst | 106 ++++++++++++++------
> arch/s390/include/asm/kvm_host.h | 2 +
> arch/x86/entry/entry_32.S | 5 +
> arch/x86/entry/entry_64.S | 5 +
> arch/x86/include/asm/hardirq.h | 3 +
> arch/x86/include/asm/irq_vectors.h | 6 +-
> arch/x86/include/asm/kvm_host.h | 7 +-
> arch/x86/include/asm/kvm_para.h | 6 ++
> arch/x86/include/uapi/asm/kvm_para.h | 11 ++-
> arch/x86/kernel/irq.c | 9 ++
> arch/x86/kernel/kvm.c | 42 ++++++--
> arch/x86/kvm/cpuid.c | 3 +-
> arch/x86/kvm/mmu/mmu.c | 10 +-
> arch/x86/kvm/x86.c | 142 ++++++++++++++++++---------
> include/linux/kvm_host.h | 3 +
> include/uapi/linux/kvm.h | 1 +
> virt/kvm/async_pf.c | 10 ++
> virt/kvm/kvm_main.c | 19 +++-
> 19 files changed, 295 insertions(+), 101 deletions(-)
>
> --
> 2.25.4
>

\
 
 \ /
  Last update: 2020-05-12 17:33    [W:0.210 / U:0.388 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site