qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PULL 00/15] tb hash improvements


From: Emilio G. Cota
Subject: Re: [Qemu-devel] [PULL 00/15] tb hash improvements
Date: Fri, 10 Jun 2016 12:34:32 -0400
User-agent: Mutt/1.5.23 (2014-03-12)

On Fri, Jun 10, 2016 at 16:33:10 +0100, Peter Maydell wrote:
> Fails to build on ppc64be :-(
> 
> In file included from /home/pm215/qemu/include/qemu/thread.h:4:0,
>                  from /home/pm215/qemu/include/block/aio.h:20,
>                  from /home/pm215/qemu/include/block/block.h:4,
>                  from /home/pm215/qemu/include/monitor/monitor.h:6,
>                  from /home/pm215/qemu/trace/control.c:23:
> /home/pm215/qemu/include/qemu/processor.h:24:35: error: expected
> identifier or ‘(’ before string constant
>                                    "or 2, 2, 2;" ::: "memory")

On Fri, Jun 10, 2016 at 16:57:19 +0100, Peter Maydell wrote:
> Also fails trying to build a test on 32-bit:
> 
> /home/petmay01/qemu/tests/qht-bench.c: In function 'pr_params':
> /home/petmay01/qemu/tests/qht-bench.c:270:5: error: format '%zu'
> expects argument of type 'size_t', but argument 2 has type 'long
> unsigned int' [-Werror=format=]
>      printf(" lookup range:      %zu\n", lookup_range);

Can you please test again after applying the appended delta?

Thanks,

                Emilio

diff --git a/include/qemu/processor.h b/include/qemu/processor.h
index 42bcc99..c28d7e3 100644
--- a/include/qemu/processor.h
+++ b/include/qemu/processor.h
@@ -20,8 +20,12 @@
 
 #elif defined(__powerpc64__)
 /* set Hardware Multi-Threading (HMT) priority to low; then back to medium */
-# define cpu_relax() asm volatile("or 1, 1, 1;"
-                                  "or 2, 2, 2;" ::: "memory")
+# define cpu_relax()                            \
+    do {                                        \
+        asm volatile("or 1,1,1");               \
+        asm volatile("or 2,2,2");               \
+        barrier();                              \
+    } while (0)
 
 #else
 # define cpu_relax() barrier()
diff --git a/tests/qht-bench.c b/tests/qht-bench.c
index c7f73b4..ad8efbc 100644
--- a/tests/qht-bench.c
+++ b/tests/qht-bench.c
@@ -267,8 +267,8 @@ static void pr_params(void)
     printf(" update rate:       %f%%\n", update_rate * 100.0);
     printf(" offset:            %ld\n", populate_offset);
     printf(" initial key range: %zu\n", init_range);
-    printf(" lookup range:      %zu\n", lookup_range);
-    printf(" update range:      %zu\n", update_range);
+    printf(" lookup range:      %lu\n", lookup_range);
+    printf(" update range:      %lu\n", update_range);
 }
 
 static void do_threshold(double rate, uint64_t *threshold)




reply via email to

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