lkml.org 
[lkml]   [2013]   [Mar]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v3] perf tools: Fix LIBNUMA build with glibc 2.12 and older.

* Vinson Lee <vlee@twitter.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@twitter.com>
> Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: Irina Tirdea <irina.tirdea@intel.com>
> Cc: Paul Mackerras <paulus@samba.org>
> Cc: Pekka Enberg <penberg@kernel.org>
> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
> ---
> tools/perf/bench/bench.h | 24 ++++++++++++++++++++++++
> 1 files changed, 24 insertions(+), 0 deletions(-)
>
> diff --git a/tools/perf/bench/bench.h b/tools/perf/bench/bench.h
> index a5223e6..c132ee7 100644
> --- a/tools/perf/bench/bench.h
> +++ b/tools/perf/bench/bench.h
> @@ -1,6 +1,30 @@
> #ifndef BENCH_H
> #define BENCH_H
>
> +/*
> + * The madvise transparent hugepage constants were added in glibc
> + * 2.13. For compatibility with older versions of glibc, define these
> + * tokens if they are not already defined.
> + *
> + * PA-RISC uses different madvise values from other architectures and
> + * needs to be special-cased.
> + */
> +#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!

Acked-by: Ingo Molnar <mingo@kernel.org>

Arnaldo, will you be picking this up for perf/urgent, or should I?

Thanks,

Ingo


\
 
 \ /
  Last update: 2013-03-14 09:01    [W:0.061 / U:0.156 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site