All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/3] Add NUMA support for NVDIMM devices
@ 2015-06-09 23:10 ` Toshi Kani
  0 siblings, 0 replies; 27+ messages in thread
From: Toshi Kani @ 2015-06-09 23:10 UTC (permalink / raw)
  To: rjw, dan.j.williams; +Cc: linux-acpi, linux-nvdimm, linux-kernel

Since NVDIMMs are installed on memory slots, they expose the NUMA
topology of a platform.  This patchset adds support of sysfs
'numa_node' to I/O-related NVDIMM devices under /sys/bus/nd/devices.
This enables numactl(8) to accept 'block:' and 'file:' paths of
pmem and btt devices as shown in the examples below.
  numactl --preferred block:pmem0 --show
  numactl --preferred file:/dev/pmem0s --show

numactl can be used to bind an application to the locality of
a target NVDIMM for better performance.  Here is a result of fio
benchmark to ext4/dax on an HP DL380 with 2 sockets for local and
remote settings.

  Local [1] :  4098.3MB/s
  Remote [2]:  3718.4MB/s

[1] numactl --preferred block:pmem0 --cpunodebind block:pmem0 fio <fs-on-pmem0> 
[2] numactl --preferred block:pmem1 --cpunodebind block:pmem1 fio <fs-on-pmem0>

Patch 1/3 applies on top of the acpica branch of the pm tree.
Patch 2/3-3/3 apply on top of Dan Williams's v5 patch series of 
"libnvdimm: non-volatile memory devices".

---
v2:
 - Add acpi_map_pxm_to_online_node(), which returns an online node.
 - Manage visibility of sysfs numa_node with is_visible. (Dan Williams)
 - Check ACPI_NFIT_PROXIMITY_VALID in spa->flags.

---
Toshi Kani (3):
  1/3 acpi: Add acpi_map_pxm_to_online_node()
  2/3 libnvdimm: Set numa_node to NVDIMM devices
  3/3 libnvdimm: Add sysfs numa_node to NVDIMM devices

---
 drivers/acpi/nfit.c             |  7 +++++++
 drivers/acpi/numa.c             | 40 +++++++++++++++++++++++++++++++++++++---
 drivers/nvdimm/btt.c            |  2 ++
 drivers/nvdimm/btt_devs.c       |  1 +
 drivers/nvdimm/bus.c            | 30 ++++++++++++++++++++++++++++++
 drivers/nvdimm/namespace_devs.c |  1 +
 drivers/nvdimm/nd.h             |  1 +
 drivers/nvdimm/region.c         |  1 +
 drivers/nvdimm/region_devs.c    |  1 +
 include/linux/acpi.h            |  5 +++++
 include/linux/libnvdimm.h       |  2 ++
 11 files changed, 88 insertions(+), 3 deletions(-)

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

end of thread, other threads:[~2015-06-19  1:17 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-09 23:10 [PATCH v2 0/3] Add NUMA support for NVDIMM devices Toshi Kani
2015-06-09 23:10 ` Toshi Kani
2015-06-09 23:10 ` [PATCH v2 1/3] acpi: Add acpi_map_pxm_to_online_node() Toshi Kani
2015-06-09 23:10   ` Toshi Kani
2015-06-19  0:42   ` Rafael J. Wysocki
2015-06-19  0:42     ` Rafael J. Wysocki
2015-06-19  1:16     ` Toshi Kani
2015-06-19  1:16       ` Toshi Kani
2015-06-09 23:10 ` [PATCH v2 2/3] libnvdimm: Set numa_node to NVDIMM devices Toshi Kani
2015-06-09 23:10   ` Toshi Kani
2015-06-09 23:10 ` [PATCH v2 3/3] libnvdimm: Add sysfs " Toshi Kani
2015-06-09 23:10   ` Toshi Kani
2015-06-10 15:54 ` [PATCH v2 0/3] Add NUMA support for " Jeff Moyer
2015-06-10 15:57   ` Dan Williams
2015-06-10 16:11     ` Jeff Moyer
2015-06-10 16:11       ` Jeff Moyer
2015-06-10 16:20     ` Elliott, Robert (Server Storage)
2015-06-10 16:37       ` Dan Williams
2015-06-10 16:20     ` Toshi Kani
2015-06-11 15:38 ` Dan Williams
2015-06-11 15:38   ` Dan Williams
2015-06-11 15:45   ` Toshi Kani
2015-06-11 15:45     ` Toshi Kani
2015-06-18 20:24 ` Dan Williams
2015-06-18 20:24   ` Dan Williams
2015-06-19  0:43   ` Rafael J. Wysocki
2015-06-19  0:43     ` Rafael J. Wysocki

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.