[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 21/21] numa: hmat: require parent cache description before the nex
From: |
Eduardo Habkost |
Subject: |
[PULL 21/21] numa: hmat: require parent cache description before the next level one |
Date: |
Tue, 6 Oct 2020 18:09:30 -0400 |
From: Igor Mammedov <imammedo@redhat.com>
Spec[1] defines 0 - 3 level memory side cache, however QEMU
CLI allows to specify an intermediate cache level without
specifying previous level. Such option(s) silently ignored
when building HMAT table, which leads to incomplete cache
information.
Make sure that previous level exists and error out
if it hasn't been provided.
1) ACPI 6.2A 5.2.27.5 Memory Side Cache Information Structure
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1842877
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Message-Id: <20201006150002.1601845-1-imammedo@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
hw/core/numa.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/hw/core/numa.c b/hw/core/numa.c
index 7d5d413001..7c4dd4e68e 100644
--- a/hw/core/numa.c
+++ b/hw/core/numa.c
@@ -424,7 +424,13 @@ void parse_numa_hmat_cache(MachineState *ms,
NumaHmatCacheOptions *node,
}
if ((node->level > 1) &&
- ms->numa_state->hmat_cache[node->node_id][node->level - 1] &&
+ ms->numa_state->hmat_cache[node->node_id][node->level - 1] == NULL) {
+ error_setg(errp, "Cache level=%u shall be defined first",
+ node->level - 1);
+ return;
+ }
+
+ if ((node->level > 1) &&
(node->size <=
ms->numa_state->hmat_cache[node->node_id][node->level - 1]->size))
{
error_setg(errp, "Invalid size=%" PRIu64 ", the size of level=%" PRIu8
--
2.26.2
- [PULL 14/21] docs/devel/qom: Remove usage of <code>, (continued)
- [PULL 14/21] docs/devel/qom: Remove usage of <code>, Eduardo Habkost, 2020/10/06
- [PULL 10/21] qom: Fix DECLARE_*CHECKER documentation, Eduardo Habkost, 2020/10/06
- [PULL 07/21] hw/core/qdev-properties: Extract system-mode specific properties, Eduardo Habkost, 2020/10/06
- [PULL 17/21] kernel-doc: Handle function typedefs without asterisks, Eduardo Habkost, 2020/10/06
- [PULL 19/21] memory: Explicitly tag doc comments for structs, Eduardo Habkost, 2020/10/06
- [PULL 11/21] docs/devel/qom: Fix indentation of bulleted list, Eduardo Habkost, 2020/10/06
- [PULL 13/21] docs/devel/qom: Use *emphasis* for emphasis, Eduardo Habkost, 2020/10/06
- [PULL 12/21] docs/devel/qom: Fix indentation of code blocks, Eduardo Habkost, 2020/10/06
- [PULL 15/21] docs/devel/qom: Avoid long lines, Eduardo Habkost, 2020/10/06
- [PULL 16/21] kernel-doc: Handle function typedefs that return pointers, Eduardo Habkost, 2020/10/06
- [PULL 21/21] numa: hmat: require parent cache description before the next level one,
Eduardo Habkost <=
- [PULL 20/21] kernel-doc: Remove $decl_type='type name' hack, Eduardo Habkost, 2020/10/06
- Re: [PULL 00/21] machine + QOM queue, 2020-10-06, Peter Maydell, 2020/10/08