Skip to content

Heterogenous memory node attributes

Keith Busch linux-acpi linux-api linux-mm lkml 7 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v8 Latest10 patches 10 repliesIn review
  2. v710 patches 11 repliesSuperseded
  3. v610 patches 26 repliesSuperseded
Earlier versions · 4
VersionPostedPatchesRepliesStatus
v510 patches26 repliesSuperseded
v413 patches37 repliesSuperseded
v313 patches13 repliesSuperseded
v212 patches14 repliesSuperseded

Patches in v8 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/10acpi: Create subtable parsing infrastructurearch/arm64/kernel/acpi_numa.c arch/arm64/kernel/smp.c arch/ia64/kernel/acpi.c +12 more+114 -640 replies
2/10acpi: Add HMAT to generic parsing tablesdrivers/acpi/tables.c include/linux/acpi.h+10 -00 replies
3/10acpi/hmat: Parse and report heterogeneous memorydrivers/acpi/Kconfig drivers/acpi/Makefile drivers/acpi/hmat/Kconfig +2 more+246 -00 replies
4/10node: Link memory nodes to their compute nodesDocumentation/ABI/stable/sysfs-devices-node drivers/base/node.c include/linux/node.h+171 -21 reply
5/10node: Add heterogenous memory access attributesDocumentation/ABI/stable/sysfs-devices-node drivers/base/Kconfig drivers/base/node.c +1 more+121 -01 reply
6/10node: Add memory-side caching attributesDocumentation/ABI/stable/sysfs-devices-node drivers/base/node.c include/linux/node.h+224 -01 reply
7/10acpi/hmat: Register processor domain to its memorydrivers/acpi/hmat/Kconfig drivers/acpi/hmat/hmat.c+393 -23 replies
8/10acpi/hmat: Register performance attributesdrivers/acpi/hmat/Kconfig drivers/acpi/hmat/hmat.c+13 -20 replies
9/10acpi/hmat: Register memory side cache attributesdrivers/acpi/hmat/hmat.c+32 -00 replies
10/10doc/mm: New documentation for memory performanceDocumentation/admin-guide/mm/numaperf.rst+169 -00 replies

Reviews trailers per patch

All 10 patches have a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchRafael J. WysockiJonathan CameronMike RapoportBrice Goglin
SeriesT-b R-b
1/10R-b A-b T-b
2/10R-b A-b T-b
3/10R-b A-b T-b
4/10R-b R-b
5/10R-b A-b T-b
6/10R-b
7/10A-b R-b
8/10A-b
9/10A-b
10/10R-b R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 4 reviewers.

Read the v8 thread

Cover letter [PATCHv8 00/10] Heterogenous memory node attributes

== Changes since v7 ==

Fixed an early return that prevented reporting HMAT when there are no direct attached initiators.

Fixed introducing a variable that was unused until several patches later.

Miscellaneous typos, editorial clarifications, and whitespace fixups.

Merged to most current linux-next.

Added received review, test, and ack by's.

I've published a git tree available on this branch:

https://git.kernel.org/pub/scm/linux/kernel/git/kbusch/linux.git/log/?h=hmat-v8

== Background ==

Platforms may provide multiple types of cpu attached system memory. The memory ranges for each type may have different characteristics that applications may wish to know about when considering what node they want their memory allocated from.

It had previously been difficult to describe these setups as memory rangers were generally lumped into the NUMA node of the CPUs. New platform attributes have been created and in use today that describe the more complex memory hierarchies that can be created.

This series' objective is to provide the attributes from such systems that are useful for applications to know about, and readily usable with existing tools and libraries. Those applications may query performance attributes relative to a particular CPU they're running on in order to make more informed choices for where they want to allocate hot and cold data. This works with mbind() or the numactl library.

Keith Busch (10):
acpi: Create subtable parsing infrastructure
acpi: Add HMAT to generic parsing tables acpi/hmat: Parse and report heterogeneous memory
node: Link memory nodes to their compute nodes
node: Add heterogenous memory access attributes
node: Add memory-side caching attributes acpi/hmat: Register processor domain to its memory acpi/hmat: Register performance attributes acpi/hmat: Register memory side cache attributes doc/mm: New documentation for memory performance

 Documentation/ABI/stable/sysfs-devices-node   |  87 +++-
 Documentation/admin-guide/mm/numaperf.rst     | 169 +++++++
 arch/arm64/kernel/acpi_numa.c                 |   2 +-
 arch/arm64/kernel/smp.c                       |   4 +-
 arch/ia64/kernel/acpi.c                       |  16 +-
 arch/x86/kernel/acpi/boot.c                   |  36 +-
 drivers/acpi/Kconfig                          |   1 +
 drivers/acpi/Makefile                         |   1 +
 drivers/acpi/hmat/Kconfig                     |  11 +
 drivers/acpi/hmat/Makefile                    |   1 +
 drivers/acpi/hmat/hmat.c                      | 666 ++++++++++++++++++++++++++
 drivers/acpi/numa.c                           |  16 +-
 drivers/acpi/scan.c                           |   4 +-
 drivers/acpi/tables.c                         |  76 ++-
 drivers/base/Kconfig                          |   8 +
 drivers/base/node.c                           | 352 +++++++++++++-
 drivers/irqchip/irq-gic-v2m.c                 |   2 +-
 drivers/irqchip/irq-gic-v3-its-pci-msi.c      |   2 +-
 drivers/irqchip/irq-gic-v3-its-platform-msi.c |   2 +-
 drivers/irqchip/irq-gic-v3-its.c              |   6 +-
 drivers/irqchip/irq-gic-v3.c                  |  10 +-
 drivers/irqchip/irq-gic.c                     |   4 +-
 drivers/mailbox/pcc.c                         |   2 +-
 include/linux/acpi.h                          |   6 +-
 include/linux/node.h                          |  71 +++
 25 files changed, 1489 insertions(+), 66 deletions(-)
 create mode 100644 Documentation/admin-guide/mm/numaperf.rst
 create mode 100644 drivers/acpi/hmat/Kconfig
 create mode 100644 drivers/acpi/hmat/Makefile
 create mode 100644 drivers/acpi/hmat/hmat.c
Signature · 1 line
2.14.4