[PATCH v8 0/6] Support for H_RPT_INVALIDATE in PowerPC KVM

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

 



This patchset adds support for the new hcall H_RPT_INVALIDATE
and replaces the nested tlb flush calls with this new hcall
if support for the same exists.

Changes in v8:
-------------
- Used tlb_single_page_flush_ceiling in the process-scoped range
  flush routine to switch to full PID invalation if
  the number of pages is above the threshold
- Moved iterating over page sizes into the actual routine that
  handles the eventual flushing thereby limiting the page size
  iteration only to range based flushing
- Converted #if 0 section into a comment section to avoid
  checkpatch from complaining.
- Used a threshold in the partition-scoped range flushing
  to switch to full LPID invalidation

v7: https://lore.kernel.org/linuxppc-dev/20210505154642.178702-1-bharata@xxxxxxxxxxxxx/

Aneesh Kumar K.V (1):
  KVM: PPC: Book3S HV: Fix comments of H_RPT_INVALIDATE arguments

Bharata B Rao (5):
  powerpc/book3s64/radix: Add H_RPT_INVALIDATE pgsize encodings to
    mmu_psize_def
  KVM: PPC: Book3S HV: Add support for H_RPT_INVALIDATE
  KVM: PPC: Book3S HV: Nested support in H_RPT_INVALIDATE
  KVM: PPC: Book3S HV: Add KVM_CAP_PPC_RPT_INVALIDATE capability
  KVM: PPC: Book3S HV: Use H_RPT_INVALIDATE in nested KVM

 Documentation/virt/kvm/api.rst                |  18 ++
 arch/powerpc/include/asm/book3s/64/mmu.h      |   1 +
 .../include/asm/book3s/64/tlbflush-radix.h    |   4 +
 arch/powerpc/include/asm/hvcall.h             |   4 +-
 arch/powerpc/include/asm/kvm_book3s.h         |   3 +
 arch/powerpc/include/asm/mmu_context.h        |   9 +
 arch/powerpc/kvm/book3s_64_mmu_radix.c        |  27 ++-
 arch/powerpc/kvm/book3s_hv.c                  |  89 +++++++++
 arch/powerpc/kvm/book3s_hv_nested.c           | 129 ++++++++++++-
 arch/powerpc/kvm/powerpc.c                    |   3 +
 arch/powerpc/mm/book3s64/radix_pgtable.c      |   5 +
 arch/powerpc/mm/book3s64/radix_tlb.c          | 176 +++++++++++++++++-
 include/uapi/linux/kvm.h                      |   1 +
 13 files changed, 456 insertions(+), 13 deletions(-)

-- 
2.31.1




[Index of Archives]     [KVM Development]     [KVM ARM]     [KVM ia64]     [Linux Virtualization]     [Linux USB Devel]     [Linux Video]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux