qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH RESEND v20 0/8] Build ACPI Heterogeneous Memory Attribute Tab


From: Michael S. Tsirkin
Subject: Re: [PATCH RESEND v20 0/8] Build ACPI Heterogeneous Memory Attribute Table (HMAT)
Date: Fri, 13 Dec 2019 05:06:41 -0500

On Fri, Dec 13, 2019 at 09:19:21AM +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.
> 
> The V19 patches link:
> https://patchwork.kernel.org/cover/11265525/

Looks good to me, I'll queue it for merge after the release. If possible
please ping me after the release to help make sure it didn't get
dropped.



> Changelog:
> v20:
>     - Resend to fix the wrong target in pc_hmat_erange_cfg()
>     - Use g_assert_true and g_assert_false to replace g_assert
>       (Thomas and Markus)
>     - Rename assoc as associativity, update the QAPI description (Markus)
>     - Disable cache level 0 in hmat-cache option (Igor)
>     - Keep base and bitmap unchanged when latency or bandwidth
>       out of range
>     - Fix the broken CI case when user input latency or bandwidth
>       less than required.
> v19:
>     - Add description about the machine property 'hmat' in commit
>       message (Markus)
>     - Update the QAPI comments
>     - Add a check for no memory side cache
>     - Add some fail cases for hmat-cache when level=0
> v18:
>     - Defer patches 01/14~06/14 of V17, use qapi type uint64 and
>       only nanosecond for latency (Markus)
>     - Rewrite the lines over 80 characters(Igor)
> v17:
>     - Add check when user input latency or bandwidth 0, the
>       lb_info_provided should also be 0. Because in ACPI 6.3 5.2.27.4,
>       0 means the corresponding latency or bandwidth information is
>       not provided.
>     - Fix the infinite loop when node->latency is 0.
>     - Use NumaHmatCacheOptions to replace HMAT_Cache_Info (Igor)
>     - Add check for unordered cache level input (Igor)
>     - Add some fail test cases (Igor)
> v16:
>     - Add and use qemu_strtold_finite to parse size, support full
>       64bit precision, modify related test cases (Eduardo and Markus)
>     - Simplify struct HMAT_LB_Info and related code, unify latency
>       and bandwidth (Igor)
>     - Add cross check with hmat_lb data (Igor)
>     - Fields in Cache Attributes are promoted to uint32_t before
>       shifting (Igor)
>     - Add case for QMP build HMAT (Igor)
> 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
> 
> 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 (3):
>   numa: Extend CLI to provide initiator information for numa nodes
>   tests/numa: Add case for QMP build HMAT
>   tests/bios-tables-test: add test cases for ACPI HMAT
> 
>  hw/acpi/Kconfig                       |   7 +-
>  hw/acpi/Makefile.objs                 |   1 +
>  hw/acpi/hmat.c                        | 268 +++++++++++++++++++++++
>  hw/acpi/hmat.h                        |  42 ++++
>  hw/core/machine.c                     |  64 ++++++
>  hw/core/numa.c                        | 297 ++++++++++++++++++++++++++
>  hw/i386/acpi-build.c                  |   5 +
>  include/sysemu/numa.h                 |  63 ++++++
>  qapi/machine.json                     | 180 +++++++++++++++-
>  qemu-options.hx                       |  95 +++++++-
>  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/numa-test.c                     | 213 ++++++++++++++++++
>  21 files changed, 1276 insertions(+), 11 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]