On Mon, May 5, 2025 at 7:38 PM Tony Luck <tony.luck@xxxxxxxxx> wrote: > > This series based on: > https://web.git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git/log/?h=testing > > Memory used to be homogeneous. Then NUMA came along. Later different > types of memory (persistent memory, on-package high bandwidth memory, > CXL attached memory). > > Each type of memory has its own performance characteristics, and users > will need to monitor and control access by type. > > The MRRM solution is to tag physical address ranges with "region IDs" > so that platform firmware[1] can indicate the type of memory for each > range (with separate tags available for local vs. remote access to > each range). Note that these ranges can include addresses reserved > for future hotplugged memory. > > The region IDs will be used to provide separate event counts for each > region for "perf" and for the "resctrl" file system to monitor and > control memory bandwidth in each region. > > Users will need to know the address range(s) that are part of each > region. This patch series adds > /sys/firmware/acpi/memory_ranges/rangeX > directories to provide user space accessible enumeration. > > -Tony > > [1] MRRM definition allow for future expansion for the OS to assign > these region IDs. > > Changes since version 4 here: > https://lore.kernel.org/all/20250429202412.380637-1-tony.luck@xxxxxxxxx/ > > *) Dropped patch 1. ACPICA changes have been merged into the linux-pm > tree. > *) Removed spurious blank file from mrrm_init() (Thanks, Fenghua). > > Tony Luck (3): > ACPI/MRRM: Minimal parse of ACPI MRRM table > ACPI/MRRM: Add /sys files to describe memory ranges > ACPI: Add documentation for exposing MRRM data > > include/linux/acpi.h | 9 + > drivers/acpi/acpi_mrrm.c | 182 ++++++++++++++++++ > Documentation/ABI/testing/sysfs-firmware-acpi | 21 ++ > arch/x86/Kconfig | 1 + > drivers/acpi/Kconfig | 3 + > drivers/acpi/Makefile | 1 + > 6 files changed, 217 insertions(+) > create mode 100644 drivers/acpi/acpi_mrrm.c > All patches applied as 6.16 material, thanks!