[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