[PATCH v3] perf: fix bench numa compilation

From: Riccardo Magliocchetti
Date: Thu Jun 20 2013 - 03:39:55 EST


Fix the following errors on gcc 4.8.1 / x86:

bench/numa.c: In function âworker_threadâ:
bench/numa.c:1113:20: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
if (diff.tv_sec >= g->p.nr_secs) {
^
bench/numa.c:1161:6: error: format â%lxâ expects argument of type âlong unsigned intâ, but argument 5 has type âu64â [-Werror=format=]
process_nr, thread_nr, runtime_ns_max / bytes_done, val);
^

Signed-off-by: Riccardo Magliocchetti <riccardo.magliocchetti@xxxxxxxxx>
---
tools/perf/bench/numa.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

Changes since v2:
- use PRIu64 as suggested by Arnaldo Carvalho da Melo

diff --git a/tools/perf/bench/numa.c b/tools/perf/bench/numa.c
index 30d1c32..f5c0834 100644
--- a/tools/perf/bench/numa.c
+++ b/tools/perf/bench/numa.c
@@ -21,6 +21,7 @@
#include <string.h>
#include <unistd.h>
#include <pthread.h>
+#include <inttypes.h>
#include <sys/mman.h>
#include <sys/time.h>
#include <sys/wait.h>
@@ -1110,7 +1111,7 @@ static void *worker_thread(void *__tdata)
/* Check whether our max runtime timed out: */
if (g->p.nr_secs) {
timersub(&stop, &start0, &diff);
- if (diff.tv_sec >= g->p.nr_secs) {
+ if (diff.tv_sec >= (long int)g->p.nr_secs) {
g->stop_work = true;
break;
}
@@ -1157,7 +1158,7 @@ static void *worker_thread(void *__tdata)
runtime_ns_max += diff.tv_usec * 1000;

if (details >= 0) {
- printf(" #%2d / %2d: %14.2lf nsecs/op [val: %016lx]\n",
+ printf(" #%2d / %2d: %14.2lf nsecs/op [val: %016"PRIu64"x]\n",
process_nr, thread_nr, runtime_ns_max / bytes_done, val);
}
fflush(stdout);
--
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/