[PATCH v3 0/3] powerpc/mm: Mark memory contexts requiring global TLBIs
Frederic Barrat
fbarrat at linux.vnet.ibm.com
Wed Aug 30 23:29:46 AEST 2017
I'm dropping this series, as there was a recent change done in the
memory context that I can reuse.
The follow up of the story is:
http://patchwork.ozlabs.org/patch/807570/
Fred
Le 02/08/2017 à 22:29, Frederic Barrat a écrit :
> capi2 and opencapi require the TLB invalidations being sent for
> addresses used on the cxl adapter or opencapi device to be global, as
> there's a translation cache in the PSL (for capi2) or NPU (for
> opencapi). The CAPP, on behalf of the PSL, and NPU snoop the power bus.
>
> This is not new: for the hash memory model, as soon as the cxl driver
> is active, all local TLBIs become global. We need a similar mechanism
> for the radix memory model. This patch tries to improve things a bit
> by flagging the contexts requiring global TLBIs, therefore limiting
> the "upgrade" and not affecting contexts not used by the card.
>
> A longer-term goal is to modify the current implementation for hash to
> follow the same direction, i.e. identify contexts needing global
> TLBIs, but that will be for later. It would be required to support
> hash for opencapi.
>
> Changelog:
> v3:
> - convert from RFC to PATCH
> - mark contexts used by XSL (cxllib) as needed global invalidation
> RFC v2:
> - address comments received
> - rename MM_CONTEXT_GLOBAL_TLBI -> MM_GLOBAL_TLBIE
> - add memory barriers to make sure the device doesn't miss any TLBI
> - also add barrier for the hash implemention to fix the same issue
>
> Frederic Barrat (3):
> powerpc/mm: Add marker for contexts requiring global TLB invalidations
> cxl: Mark context requiring global TLBIs
> cxl: Add memory barrier to guarantee TLBI scope
>
> arch/powerpc/include/asm/book3s/64/mmu.h | 18 ++++++++++++++++++
> arch/powerpc/include/asm/tlb.h | 27 +++++++++++++++++++++++----
> arch/powerpc/mm/mmu_context_book3s64.c | 1 +
> arch/powerpc/mm/tlb-radix.c | 8 ++++----
> arch/powerpc/mm/tlb_hash64.c | 3 ++-
> drivers/misc/cxl/api.c | 12 ++++++++++--
> drivers/misc/cxl/cxllib.c | 7 +++++++
> drivers/misc/cxl/file.c | 12 ++++++++++--
> include/misc/cxl-base.h | 22 +++++++++++++++++++---
> 9 files changed, 94 insertions(+), 16 deletions(-)
>
More information about the Linuxppc-dev
mailing list