Message ID | 20191203034655.51561-1-alastair@au1.ibm.com (mailing list archive) |
---|---|
Headers | show |
Series | Add support for OpenCAPI SCM devices | expand |
On Tue, Dec 03, 2019 at 02:46:28PM +1100, Alastair D'Silva wrote:
> This series adds support for OpenCAPI SCM devices, exposing
Could we _not_ introduce yet another term for persistent memory?
On Mon, 2019-12-02 at 19:50 -0800, Matthew Wilcox wrote: > On Tue, Dec 03, 2019 at 02:46:28PM +1100, Alastair D'Silva wrote: > > This series adds support for OpenCAPI SCM devices, exposing > > Could we _not_ introduce yet another term for persistent memory? > "Storage Class Memory" is an industry wide term, and is used repeatedly in the device specifications. It's not something that has been pulled out of thin air. The term is also already in use within the 'papr_scm' driver.
On Tue, Dec 03, 2019 at 03:01:17PM +1100, Alastair D'Silva wrote: > On Mon, 2019-12-02 at 19:50 -0800, Matthew Wilcox wrote: > > On Tue, Dec 03, 2019 at 02:46:28PM +1100, Alastair D'Silva wrote: > > > This series adds support for OpenCAPI SCM devices, exposing > > > > Could we _not_ introduce yet another term for persistent memory? > > > > "Storage Class Memory" is an industry wide term, and is used repeatedly > in the device specifications. It's not something that has been pulled > out of thin air. "Somebody else also wrote down Storage Class Memory". Don't care. Google gets 750k hits for Persistent Memory and 150k hits for Storage Class Memory. This term lost. > The term is also already in use within the 'papr_scm' driver. The acronym "SCM" is already in use. Socket Control Messages go back to early Unix (SCM_RIGHTS, SCM_CREDENTIALS, etc). Really, you're just making the case that IBM already uses the term SCM. You should stop.
On Tue, Dec 3, 2019 at 4:43 AM Matthew Wilcox <willy@infradead.org> wrote: > > On Tue, Dec 03, 2019 at 03:01:17PM +1100, Alastair D'Silva wrote: > > On Mon, 2019-12-02 at 19:50 -0800, Matthew Wilcox wrote: > > > On Tue, Dec 03, 2019 at 02:46:28PM +1100, Alastair D'Silva wrote: > > > > This series adds support for OpenCAPI SCM devices, exposing > > > > > > Could we _not_ introduce yet another term for persistent memory? > > > > > > > "Storage Class Memory" is an industry wide term, and is used repeatedly > > in the device specifications. It's not something that has been pulled > > out of thin air. > > "Somebody else also wrote down Storage Class Memory". Don't care. > Google gets 750k hits for Persistent Memory and 150k hits for > Storage Class Memory. This term lost. > > > The term is also already in use within the 'papr_scm' driver. > > The acronym "SCM" is already in use. Socket Control Messages go back > to early Unix (SCM_RIGHTS, SCM_CREDENTIALS, etc). Really, you're just > making the case that IBM already uses the term SCM. You should stop. I tend to agree. The naming of things under arch/powerpc/platforms/pseries/ is not under my purview, but drivers/nvdimm/ is. Since this driver is colocated with the "pmem" driver let's not proliferate the "scm" vs "pmem" confusion.
From: Alastair D'Silva <alastair@d-silva.org> This series adds support for OpenCAPI SCM devices, exposing them as nvdimms so that we can make use of the existing infrastructure. V2: - "powerpc: Map & release OpenCAPI LPC memory" - Fix #if -> #ifdef - use pci_dev_id to get the bdfn - use __be64 to hold be data - indent check_hotplug_memory_addressable correctly - Remove export of check_hotplug_memory_addressable - "ocxl: Conditionally bind SCM devices to the generic OCXL driver" - Improve patch description and remove redundant default - "nvdimm: Add driver for OpenCAPI Storage Class Memory" - Mark a few funcs as static as identified by the 0day bot - Add OCXL dependancies to OCXL_SCM - Use memcpy_mcsafe in scm_ndctl_config_read - Rename scm_foo_offset_0x00 to scm_foo_header_parse & add docs - Name DIMM attribs "ocxl" rather than "scm" - Split out into base + many feature patches - "powerpc: Enable OpenCAPI Storage Class Memory driver on bare metal" - Build DEV_DAX & friends as modules - "ocxl: Conditionally bind SCM devices to the generic OCXL driver" - Patch dropped (easy enough to maintain this out of tree for development) - "ocxl: Tally up the LPC memory on a link & allow it to be mapped" - Add a warning if an unmatched lpc_release is called - "ocxl: Add functions to map/unmap LPC memory" - Use EXPORT_SYMBOL_GPL Alastair D'Silva (27): memory_hotplug: Add a bounds check to __add_pages nvdimm: remove prototypes for nonexistent functions powerpc: Add OPAL calls for LPC memory alloc/release mm/memory_hotplug: Allow check_hotplug_memory_addressable to be called from drivers powerpc: Map & release OpenCAPI LPC memory ocxl: Tally up the LPC memory on a link & allow it to be mapped ocxl: Add functions to map/unmap LPC memory ocxl: Save the device serial number in ocxl_fn ocxl: Free detached contexts in ocxl_context_detach_all() nvdimm: Add driver for OpenCAPI Storage Class Memory nvdimm/ocxl: Add register addresses & status values to header nvdimm/ocxl: Read the capability registers & wait for device ready nvdimm/ocxl: Add support for Admin commands nvdimm/ocxl: Add support for near storage commands nvdimm/ocxl: Register a character device for userspace to interact with nvdimm/ocxl: Implement the Read Error Log command nvdimm/ocxl: Add controller dump IOCTLs nvdimm/ocxl: Add an IOCTL to report controller statistics nvdimm/ocxl: Forward events to userspace nvdimm/ocxl: Add an IOCTL to request controller health & perf data nvdimm/ocxl: Support firmware update via sysfs nvdimm/ocxl: Implement the heartbeat command nvdimm/ocxl: Add debug IOCTLs nvdimm/ocxl: Implement Overwrite nvdimm/ocxl: Expose SMART data via ndctl powerpc: Enable OpenCAPI Storage Class Memory driver on bare metal MAINTAINERS: Add myself & nvdimm/ocxl to ocxl MAINTAINERS | 3 + arch/powerpc/configs/powernv_defconfig | 4 + arch/powerpc/include/asm/opal-api.h | 2 + arch/powerpc/include/asm/opal.h | 3 + arch/powerpc/include/asm/pnv-ocxl.h | 2 + arch/powerpc/platforms/powernv/ocxl.c | 42 + arch/powerpc/platforms/powernv/opal-call.c | 2 + drivers/misc/ocxl/config.c | 50 + drivers/misc/ocxl/context.c | 6 +- drivers/misc/ocxl/core.c | 60 + drivers/misc/ocxl/link.c | 60 + drivers/misc/ocxl/ocxl_internal.h | 36 + drivers/nvdimm/Kconfig | 2 + drivers/nvdimm/Makefile | 2 +- drivers/nvdimm/nd-core.h | 4 - drivers/nvdimm/ocxl/Kconfig | 21 + drivers/nvdimm/ocxl/Makefile | 7 + drivers/nvdimm/ocxl/scm.c | 2220 ++++++++++++++++++++ drivers/nvdimm/ocxl/scm_internal.c | 238 +++ drivers/nvdimm/ocxl/scm_internal.h | 284 +++ drivers/nvdimm/ocxl/scm_sysfs.c | 163 ++ include/linux/memory_hotplug.h | 5 + include/misc/ocxl.h | 19 + include/uapi/nvdimm/ocxl-scm.h | 127 ++ mm/memory_hotplug.c | 21 + 25 files changed, 3377 insertions(+), 6 deletions(-) create mode 100644 drivers/nvdimm/ocxl/Kconfig create mode 100644 drivers/nvdimm/ocxl/Makefile create mode 100644 drivers/nvdimm/ocxl/scm.c create mode 100644 drivers/nvdimm/ocxl/scm_internal.c create mode 100644 drivers/nvdimm/ocxl/scm_internal.h create mode 100644 drivers/nvdimm/ocxl/scm_sysfs.c create mode 100644 include/uapi/nvdimm/ocxl-scm.h