All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/8] Support new pmem flush and sync instructions for POWER
@ 2020-05-29  5:28 ` Aneesh Kumar K.V
  0 siblings, 0 replies; 21+ messages in thread
From: Aneesh Kumar K.V @ 2020-05-29  5:28 UTC (permalink / raw)
  To: linuxppc-dev, mpe, linux-nvdimm; +Cc: Aneesh Kumar K.V

This patch series enables the usage os new pmem flush and sync instructions on POWER
architecture. POWER10 introduces two new variants of dcbf instructions (dcbstps and dcbfps)
that can be used to write modified locations back to persistent storage. Additionally,
POWER10 also introduce phwsync and plwsync which can be used to establish order of these
writes to persistent storage.
    
This series exposes these instructions to the rest of the kernel. The existing
dcbf and hwsync instructions in P8 and P9 are adequate to enable appropriate
synchronization with OpenCAPI-hosted persistent storage. Hence the new instructions
are added as a variant of the old ones that old hardware won't differentiate.

On POWER10, pmem devices will be represented by a different device tree compat
strings. This ensures that older kernels won't initialize pmem devices on POWER10.

Changes from V3:
* Add new compat string to be used for the device.
* Use arch_pmem_flush_barrier() in dm-writecache.

Aneesh Kumar K.V (8):
  powerpc/pmem: Restrict papr_scm to P8 and above.
  powerpc/pmem: Add new instructions for persistent storage and sync
  powerpc/pmem: Add flush routines using new pmem store and sync
    instruction
  libnvdimm/nvdimm/flush: Allow architecture to override the flush
    barrier
  powerpc/pmem/of_pmem: Update of_pmem to use the new barrier
    instruction.
  powerpc/pmem: Avoid the barrier in flush routines
  powerpc/book3s/pmem: Add WARN_ONCE to catch the wrong usage of pmem
    flush functions.
  powerpc/pmem: Initialize pmem device on newer hardware

 arch/powerpc/include/asm/cacheflush.h     |  9 +++++
 arch/powerpc/include/asm/ppc-opcode.h     | 12 ++++++
 arch/powerpc/lib/pmem.c                   | 46 +++++++++++++++++++++--
 arch/powerpc/platforms/pseries/papr_scm.c | 14 +++++++
 arch/powerpc/platforms/pseries/pmem.c     |  6 +++
 drivers/md/dm-writecache.c                |  2 +-
 drivers/nvdimm/of_pmem.c                  |  1 +
 drivers/nvdimm/region_devs.c              |  8 ++--
 include/linux/libnvdimm.h                 |  4 ++
 9 files changed, 93 insertions(+), 9 deletions(-)

-- 
2.26.2
_______________________________________________
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-leave@lists.01.org

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

end of thread, other threads:[~2020-05-31 14:50 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-29  5:28 [PATCH v4 0/8] Support new pmem flush and sync instructions for POWER Aneesh Kumar K.V
2020-05-29  5:28 ` Aneesh Kumar K.V
2020-05-29  5:28 ` [PATCH v4 1/8] powerpc/pmem: Restrict papr_scm to P8 and above Aneesh Kumar K.V
2020-05-29  5:28   ` Aneesh Kumar K.V
2020-05-29  5:28 ` [PATCH v4 2/8] powerpc/pmem: Add new instructions for persistent storage and sync Aneesh Kumar K.V
2020-05-29  5:28   ` Aneesh Kumar K.V
2020-05-29  5:28 ` [PATCH v4 3/8] powerpc/pmem: Add flush routines using new pmem store and sync instruction Aneesh Kumar K.V
2020-05-29  5:28   ` Aneesh Kumar K.V
2020-05-29  5:28 ` [PATCH v4 4/8] libnvdimm/nvdimm/flush: Allow architecture to override the flush barrier Aneesh Kumar K.V
2020-05-29  5:28   ` Aneesh Kumar K.V
2020-05-29  5:28 ` [PATCH v4 5/8] powerpc/pmem/of_pmem: Update of_pmem to use the new barrier instruction Aneesh Kumar K.V
2020-05-29  5:28   ` Aneesh Kumar K.V
2020-05-31 14:46   ` kbuild test robot
2020-05-31 14:46     ` kbuild test robot
2020-05-31 14:46     ` kbuild test robot
2020-05-29  5:28 ` [PATCH v4 6/8] powerpc/pmem: Avoid the barrier in flush routines Aneesh Kumar K.V
2020-05-29  5:28   ` Aneesh Kumar K.V
2020-05-29  5:28 ` [PATCH v4 7/8] powerpc/book3s/pmem: Add WARN_ONCE to catch the wrong usage of pmem flush functions Aneesh Kumar K.V
2020-05-29  5:28   ` Aneesh Kumar K.V
2020-05-29  5:28 ` [PATCH v4 8/8] powerpc/pmem: Initialize pmem device on newer hardware Aneesh Kumar K.V
2020-05-29  5:28   ` Aneesh Kumar K.V

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.