qemu-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]