All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/3] Off-load TLB invalidations to host for !GTSE
@ 2020-07-03  5:36 Bharata B Rao
  2020-07-03  5:36 ` [PATCH v3 1/3] powerpc/mm: Enable radix GTSE only if supported Bharata B Rao
                   ` (4 more replies)
  0 siblings, 5 replies; 19+ messages in thread
From: Bharata B Rao @ 2020-07-03  5:36 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: aneesh.kumar, Bharata B Rao, npiggin

Hypervisor may choose not to enable Guest Translation Shootdown Enable
(GTSE) option for the guest. When GTSE isn't ON, the guest OS isn't
permitted to use instructions like tblie and tlbsync directly, but is
expected to make hypervisor calls to get the TLB flushed.

This series enables the TLB flush routines in the radix code to
off-load TLB flushing to hypervisor via the newly proposed hcall
H_RPT_INVALIDATE. 

To easily check the availability of GTSE, it is made an MMU feature.
The OV5 handling and H_REGISTER_PROC_TBL hcall are changed to
handle GTSE as an optionally available feature and to not assume GTSE
when radix support is available.

The actual hcall implementation for KVM isn't included in this
patchset and will be posted separately.

Changes in v3
=============
- Fixed a bug in the hcall wrapper code where we were missing setting
  H_RPTI_TYPE_NESTED while retrying the failed flush request with
  a full flush for the nested case.
- s/psize_to_h_rpti/psize_to_rpti_pgsize

v2: https://lore.kernel.org/linuxppc-dev/20200626131000.5207-1-bharata@linux.ibm.com/T/#t

Bharata B Rao (2):
  powerpc/mm: Enable radix GTSE only if supported.
  powerpc/pseries: H_REGISTER_PROC_TBL should ask for GTSE only if
    enabled

Nicholas Piggin (1):
  powerpc/mm/book3s64/radix: Off-load TLB invalidations to host when
    !GTSE

 .../include/asm/book3s/64/tlbflush-radix.h    | 15 ++++
 arch/powerpc/include/asm/hvcall.h             | 34 +++++++-
 arch/powerpc/include/asm/mmu.h                |  4 +
 arch/powerpc/include/asm/plpar_wrappers.h     | 52 ++++++++++++
 arch/powerpc/kernel/dt_cpu_ftrs.c             |  1 +
 arch/powerpc/kernel/prom_init.c               | 13 +--
 arch/powerpc/mm/book3s64/radix_tlb.c          | 82 +++++++++++++++++--
 arch/powerpc/mm/init_64.c                     |  5 +-
 arch/powerpc/platforms/pseries/lpar.c         |  8 +-
 9 files changed, 197 insertions(+), 17 deletions(-)

-- 
2.21.3


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2020-07-18 12:43 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-03  5:36 [PATCH v3 0/3] Off-load TLB invalidations to host for !GTSE Bharata B Rao
2020-07-03  5:36 ` [PATCH v3 1/3] powerpc/mm: Enable radix GTSE only if supported Bharata B Rao
2020-07-06  1:49   ` Santosh Sivaraj
2020-07-06  4:17     ` Bharata B Rao
2020-07-03  5:36 ` [PATCH v3 2/3] powerpc/pseries: H_REGISTER_PROC_TBL should ask for GTSE only if enabled Bharata B Rao
2020-07-03  5:36 ` [PATCH v3 3/3] powerpc/mm/book3s64/radix: Off-load TLB invalidations to host when !GTSE Bharata B Rao
2020-07-16 12:55 ` [PATCH v3 0/3] Off-load TLB invalidations to host for !GTSE Michael Ellerman
2020-07-16 17:27 ` Qian Cai
2020-07-16 17:27   ` Qian Cai
2020-07-16 23:09   ` Stephen Rothwell
2020-07-16 23:09     ` Stephen Rothwell
2020-07-17  2:08   ` Nicholas Piggin
2020-07-17  2:08     ` Nicholas Piggin
2020-07-17  2:44     ` Nicholas Piggin
2020-07-17  2:44       ` Nicholas Piggin
2020-07-17  4:28       ` Bharata B Rao
2020-07-17  4:28         ` Bharata B Rao
2020-07-18 12:40         ` Michael Ellerman
2020-07-18 12:40           ` Michael Ellerman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.