On 11/7/2019 5:03 PM, Michael S. Tsirkin wrote:
> 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.
>
Thank you very much!
>> 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