[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v15 00/12] Build ACPI Heterogeneous Memory Attribute Table (H
From: |
Michael S. Tsirkin |
Subject: |
Re: [PATCH v15 00/12] Build ACPI Heterogeneous Memory Attribute Table (HMAT) |
Date: |
Thu, 7 Nov 2019 04:03:36 -0500 |
On Thu, Nov 07, 2019 at 03:44:59PM +0800, Tao Xu wrote:
> This series of patches will build Heterogeneous Memory Attribute Table (HMAT)
> according to the command line. The ACPI HMAT describes the memory attributes,
> such as memory side cache attributes and bandwidth and latency details,
> related to the Memory Proximity Domain.
> The software is expected to use HMAT information as hint for optimization.
>
> In the linux kernel, the codes in drivers/acpi/hmat/hmat.c parse and report
> the platform's HMAT tables.
ok this looks good to me.
Given we are in freeze, please ping me after the release to merge this.
> The V14 patches link:
> https://patchwork.kernel.org/cover/11214887/
>
> Changelog:
> v15:
> - Add a new patch to refactor do_strtosz() (Eduardo)
> - Make tests without breaking CI (Michael)
> v14:
> - Reuse the codes of do_strtosz to build qemu_strtotime_ns
> (Eduardo)
> - Squash patch v13 01/12 and 02/12 together (Daniel and Eduardo)
> - Drop time unit picosecond (Eric)
> - Use qemu ctz64 and clz64 instead of builtin function
> v13:
> - Modify some text description
> - Drop "initiator_valid" field in struct NodeInfo
> - Reuse Garray to store the raw bandwidth and bandwidth data
> - Calculate common base unit using range bitmap
> - Add a patch to alculate hmat latency and bandwidth entry list
> - Drop the total_levels option and use readable cache size
> - Remove the unnecessary head file
> - Use decimal notation with appropriate suffix for cache size
> v12:
> - Fix a bug that a memory-only node without initiator setting
> doesn't report error. (reported by Danmei Wei)
> - Fix a bug that if HMAT is enabled and without hmat-lb setting,
> QEMU will crash. (reported by Danmei Wei)
> v11:
> - Move numa option patches forward.
> - Add num_initiator in Numa_state to record the number of
> initiators.
> - Simplify struct HMAT_LB_Info, use uint64_t array to store data.
> - Drop hmat_get_base().
> - Calculate base in build_hmat_lb().
> v10:
> - Add qemu_strtotime_ps() to convert strings with time suffixes
> to numbers, and add some tests for it.
> - Add qapi buildin type time, and add some tests for it.
> - Add machine oprion properties "-machine hmat=on|off" for enabling
> or disabling HMAT in QEMU.
>
> Liu Jingqi (5):
> numa: Extend CLI to provide memory latency and bandwidth information
> numa: Extend CLI to provide memory side cache information
> hmat acpi: Build Memory Proximity Domain Attributes Structure(s)
> hmat acpi: Build System Locality Latency and Bandwidth Information
> Structure(s)
> hmat acpi: Build Memory Side Cache Information Structure(s)
>
> Tao Xu (7):
> util/cutils: refactor do_strtosz() to support suffixes list
> util/cutils: Add qemu_strtotime_ns()
> qapi: Add builtin type time
> tests: Add test for QAPI builtin type time
> numa: Extend CLI to provide initiator information for numa nodes
> numa: Calculate hmat latency and bandwidth entry list
> tests/bios-tables-test: add test cases for ACPI HMAT
>
> hw/acpi/Kconfig | 7 +-
> hw/acpi/Makefile.objs | 1 +
> hw/acpi/hmat.c | 263 ++++++++++++++++++++++++
> hw/acpi/hmat.h | 42 ++++
> hw/core/machine.c | 64 ++++++
> hw/core/numa.c | 284 +++++++++++++++++++++++++-
> hw/i386/acpi-build.c | 5 +
> include/qapi/visitor-impl.h | 4 +
> include/qapi/visitor.h | 8 +
> include/qemu/cutils.h | 1 +
> include/sysemu/numa.h | 104 ++++++++++
> qapi/machine.json | 178 +++++++++++++++-
> qapi/opts-visitor.c | 22 ++
> qapi/qapi-visit-core.c | 12 ++
> qapi/qobject-input-visitor.c | 18 ++
> qapi/trace-events | 1 +
> qemu-options.hx | 96 ++++++++-
> scripts/qapi/schema.py | 1 +
> tests/bios-tables-test-allowed-diff.h | 8 +
> tests/bios-tables-test.c | 44 ++++
> tests/data/acpi/pc/APIC.acpihmat | 0
> tests/data/acpi/pc/DSDT.acpihmat | 0
> tests/data/acpi/pc/HMAT.acpihmat | 0
> tests/data/acpi/pc/SRAT.acpihmat | 0
> tests/data/acpi/q35/APIC.acpihmat | 0
> tests/data/acpi/q35/DSDT.acpihmat | 0
> tests/data/acpi/q35/HMAT.acpihmat | 0
> tests/data/acpi/q35/SRAT.acpihmat | 0
> tests/test-cutils.c | 204 ++++++++++++++++++
> tests/test-keyval.c | 122 +++++++++++
> tests/test-qobject-input-visitor.c | 29 +++
> util/cutils.c | 86 +++++---
> 32 files changed, 1562 insertions(+), 42 deletions(-)
> create mode 100644 hw/acpi/hmat.c
> create mode 100644 hw/acpi/hmat.h
> create mode 100644 tests/data/acpi/pc/APIC.acpihmat
> create mode 100644 tests/data/acpi/pc/DSDT.acpihmat
> create mode 100644 tests/data/acpi/pc/HMAT.acpihmat
> create mode 100644 tests/data/acpi/pc/SRAT.acpihmat
> create mode 100644 tests/data/acpi/q35/APIC.acpihmat
> create mode 100644 tests/data/acpi/q35/DSDT.acpihmat
> create mode 100644 tests/data/acpi/q35/HMAT.acpihmat
> create mode 100644 tests/data/acpi/q35/SRAT.acpihmat
>
> --
> 2.20.1
- Re: [PATCH v15 08/12] numa: Extend CLI to provide memory side cache information, (continued)