[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PULL 02/29] numa: Allow setting NUMA distance for diff
From: |
Eduardo Habkost |
Subject: |
Re: [Qemu-devel] [PULL 02/29] numa: Allow setting NUMA distance for different NUMA nodes |
Date: |
Tue, 30 May 2017 11:01:03 -0300 |
User-agent: |
Mutt/1.8.0 (2017-02-23) |
On Tue, May 30, 2017 at 11:45:55AM +0100, Peter Maydell wrote:
> On 11 May 2017 at 20:18, Eduardo Habkost <address@hidden> wrote:
> > From: He Chen <address@hidden>
> >
> > This patch is going to add SLIT table support in QEMU, and provides
> > additional option `dist` for command `-numa` to allow user set vNUMA
> > distance by QEMU command.
>
> > Signed-off-by: He Chen <address@hidden>
> > Message-Id: <address@hidden>
> > Reviewed-by: Igor Mammedov <address@hidden>
> > Reviewed-by: Andrew Jones <address@hidden>
> > Signed-off-by: Eduardo Habkost <address@hidden>
>
> Hi all; I'm afraid this patch breaks compilation on OSX:
It looks like this wasn't detected by travis-ci because the build
is not using -Werror:
https://travis-ci.org/ehabkost/qemu/jobs/236485778#L3881
>
> > +static void parse_numa_distance(NumaDistOptions *dist, Error **errp)
> > +{
> > + uint16_t src = dist->src;
> > + uint16_t dst = dist->dst;
> > + uint8_t val = dist->val;
> > +
> > + if (src >= MAX_NODES || dst >= MAX_NODES) {
> > + error_setg(errp,
> > + "Invalid node %" PRIu16
> > + ", max possible could be %" PRIu16,
> > + MAX(src, dst), MAX_NODES);
> > + return;
> > + }
>
> /Users/pm215/src/qemu-for-merges/numa.c:236:20: error: format
> specifies type 'unsigned short' but the argument has type 'int'
> [-Werror,-Wformat]
> MAX(src, dst), MAX_NODES);
> ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
> /Users/pm215/src/qemu-for-merges/include/qapi/error.h:163:35: note:
> expanded from macro 'error_setg'
> (fmt), ## __VA_ARGS__)
> ^
> /sw/include/glib-2.0/glib/gmacros.h:192:20: note: expanded from macro 'MAX'
> #define MAX(a, b) (((a) > (b)) ? (a) : (b))
> ^~~~~~~~~~~~~~~~~~~~~~~~~
> /Users/pm215/src/qemu-for-merges/numa.c:236:35: error: format
> specifies type 'unsigned short' but the argument has type 'int'
> [-Werror,-Wformat]
> MAX(src, dst), MAX_NODES);
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
> /Users/pm215/src/qemu-for-merges/include/qapi/error.h:163:35: note:
> expanded from macro 'error_setg'
> (fmt), ## __VA_ARGS__)
> ^
> /Users/pm215/src/qemu-for-merges/include/sysemu/sysemu.h:165:19: note:
> expanded from macro 'MAX_NODES'
> #define MAX_NODES 128
> ^~~
>
> The OSX compiler is pickier about format strings than gcc,
> and neither "MAX_NODES" nor "MAX(anything)" are uint16_t type.
src and dst are both uint16_t, so MAX(src, dst) is also uint16_t,
isn't it? It looks like MAX_NODES is the problem.
I'm still waiting for travis-ci build[1], could you confirm if
the following patch fixes the issue?
[1] https://travis-ci.org/ehabkost/qemu-hacks/jobs/237526829
Signed-off-by: Eduardo Habkost <address@hidden>
---
numa.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/numa.c b/numa.c
index ca731455e9..df62b55a00 100644
--- a/numa.c
+++ b/numa.c
@@ -232,7 +232,7 @@ static void parse_numa_distance(NumaDistOptions *dist,
Error **errp)
if (src >= MAX_NODES || dst >= MAX_NODES) {
error_setg(errp,
"Invalid node %" PRIu16
- ", max possible could be %" PRIu16,
+ ", max possible could be %d",
MAX(src, dst), MAX_NODES);
return;
}
--
2.11.0.259.g40922b1
--
Eduardo
[Qemu-devel] [PULL 03/29] numa: equally distribute memory on nodes, Eduardo Habkost, 2017/05/11
[Qemu-devel] [PULL 04/29] tests: acpi: extend cphp and memhp testcase with numa distance check, Eduardo Habkost, 2017/05/11
[Qemu-devel] [PULL 05/29] tests: add CPUs to numa node mapping test, Eduardo Habkost, 2017/05/11
[Qemu-devel] [PULL 06/29] hw/arm/virt: extract mp-affinity calculation in separate function, Eduardo Habkost, 2017/05/11
[Qemu-devel] [PULL 07/29] hw/arm/virt: use machine->possible_cpus for storing possible topology info, Eduardo Habkost, 2017/05/11