qemu-devel
[Top][All Lists]
Advanced

[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



reply via email to

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