mbox series

[-V4,0/4] memory tiering: calculate abstract distance based on ACPI HMAT

Message ID 20230926060628.265989-1-ying.huang@intel.com (mailing list archive)
Headers show
Series memory tiering: calculate abstract distance based on ACPI HMAT | expand

Message

Huang, Ying Sept. 26, 2023, 6:06 a.m. UTC
We have the explicit memory tiers framework to manage systems with
multiple types of memory, e.g., DRAM in DIMM slots and CXL memory
devices.  Where, same kind of memory devices will be grouped into
memory types, then put into memory tiers.  To describe the performance
of a memory type, abstract distance is defined.  Which is in direct
proportion to the memory latency and inversely proportional to the
memory bandwidth.  To keep the code as simple as possible, fixed
abstract distance is used in dax/kmem to describe slow memory such as
Optane DCPMM.

To support more memory types, in this series, we added the abstract
distance calculation algorithm management mechanism, provided a
algorithm implementation based on ACPI HMAT, and used the general
abstract distance calculation interface in dax/kmem driver.  So,
dax/kmem can support HBM (high bandwidth memory) in addition to the
original Optane DCPMM.

Changelog:

v4:

- Fix and optimize the error processing.  Thanks Alistair's comments!

- Collected reviewed-by.

v3:

- Move algorithm to calculate abstract distance from read/write
  latency/bandwidth from hmat.c to memory-ters.c per Alistair's
  comments.

- Fix memory types putting in kmem.c for error path.

V2:

- Fix a typo in 4/4.

- Collected reviewed-by and tested-by.

V1 (from RFC):

- Added some comments per Aneesh's comments, Thanks!

Best Regards,
Huang, Ying