[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130311083652.GE12742@gmail.com>
Date: Mon, 11 Mar 2013 09:36:52 +0100
From: Ingo Molnar <mingo@...nel.org>
To: Vinson Lee <vlee@...tter.com>
Cc: linux-kernel@...r.kernel.org,
Arnaldo Carvalho de Melo <acme@...stprotocols.net>,
Ingo Molnar <mingo@...hat.com>,
Irina Tirdea <irina.tirdea@...el.com>,
Paul Mackerras <paulus@...ba.org>,
Pekka Enberg <penberg@...nel.org>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>
Subject: Re: [PATCH v2] perf tools: Fix LIBNUMA build with glibc 2.12 and
older.
* Vinson Lee <vlee@...tter.com> wrote:
> The tokens MADV_HUGEPAGE and MADV_NOHUGEPAGE are not available with
> glibc 2.12 and older. Define these tokens if they are not already
> defined.
>
> This patch fixes these build errors with older versions of glibc.
>
> CC bench/numa.o
> bench/numa.c: In function ???alloc_data???:
> bench/numa.c:334: error: ???MADV_HUGEPAGE??? undeclared (first use in this function)
> bench/numa.c:334: error: (Each undeclared identifier is reported only once
> bench/numa.c:334: error: for each function it appears in.)
> bench/numa.c:341: error: ???MADV_NOHUGEPAGE??? undeclared (first use in this function)
> make: *** [bench/numa.o] Error 1
>
> Signed-off-by: Vinson Lee <vlee@...tter.com>
> Cc: Arnaldo Carvalho de Melo <acme@...stprotocols.net>
> Cc: Ingo Molnar <mingo@...hat.com>
> Cc: Irina Tirdea <irina.tirdea@...el.com>
> Cc: Paul Mackerras <paulus@...ba.org>
> Cc: Pekka Enberg <penberg@...nel.org>
> Cc: Peter Zijlstra <a.p.zijlstra@...llo.nl>
> ---
> tools/perf/bench/bench.h | 16 ++++++++++++++++
> 1 files changed, 16 insertions(+), 0 deletions(-)
>
> diff --git a/tools/perf/bench/bench.h b/tools/perf/bench/bench.h
> index a5223e6..ed4ae8b 100644
> --- a/tools/perf/bench/bench.h
> +++ b/tools/perf/bench/bench.h
> @@ -1,6 +1,22 @@
> #ifndef BENCH_H
> #define BENCH_H
>
> +#ifdef __hppa__
> +#ifndef MADV_HUGEPAGE
> +#define MADV_HUGEPAGE 67
> +#endif
> +#ifndef MADV_NOHUGEPAGE
> +#define MADV_NOHUGEPAGE 68
> +#endif
> +#else
> +#ifndef MADV_HUGEPAGE
> +#define MADV_HUGEPAGE 14
> +#endif
> +#ifndef MADV_NOHUGEPAGE
> +#define MADV_NOHUGEPAGE 15
> +#endif
> +#endif
This looks good to me. Two minor stylistic nits:
- I think we want a short comment explaining what it's about,
that this is for old glibc and that hppa messed up its madvise()
constants and needs a non-generic kludge.
- for such multi-level #ifdef blocks we generally prefer this
more readable form:
#ifdef __hppa__
# ifndef MADV_HUGEPAGE
# define MADV_HUGEPAGE 67
# endif
# ifndef MADV_NOHUGEPAGE
# define MADV_NOHUGEPAGE 68
# endif
#else
# ifndef MADV_HUGEPAGE
# define MADV_HUGEPAGE 14
# endif
# ifndef MADV_NOHUGEPAGE
# define MADV_NOHUGEPAGE 15
# endif
#endif
Thanks,
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists