[PATCH] perf: fix bench numa compilation

From: Riccardo Magliocchetti
Date: Mon Jun 17 2013 - 06:55:25 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 | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

changes from v1:
- make it actually work on 64bit too as reported by Namhyung Kim

diff --git a/tools/perf/bench/numa.c b/tools/perf/bench/numa.c
index 30d1c32..bd501454 100644
--- a/tools/perf/bench/numa.c
+++ b/tools/perf/bench/numa.c
@@ -1110,7 +1110,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,8 +1157,8 @@ 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",
- process_nr, thread_nr, runtime_ns_max / bytes_done, val);
+ printf(" #%2d / %2d: %14.2lf nsecs/op [val: %016llx]\n",
+ process_nr, thread_nr, runtime_ns_max / bytes_done, (unsigned long long)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/