On Mon, May 5, 2025 at 7:38 PM Tony Luck <tony.luck@intel.com> 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@intel.com/
>
> *) 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!