tools/perf/util/bpf-loader.c | 6 +++++- tools/perf/util/evsel.c | 6 +++++- tools/perf/util/expr.h | 11 ++++------- tools/perf/util/stat.c | 6 +++++- 4 files changed, 19 insertions(+), 10 deletions(-)
When libbpf is present the build uses definitions in libbpf hashmap.c,
however, libbpf's hashmap.h wasn't being used. Switch to using the
correct hashmap.h dependent on the define HAVE_LIBBPF_SUPPORT. This
was the original intent in:
https://lore.kernel.org/lkml/20200515221732.44078-8-irogers@google.com/
Signed-off-by: Ian Rogers <irogers@google.com>
---
tools/perf/util/bpf-loader.c | 6 +++++-
tools/perf/util/evsel.c | 6 +++++-
tools/perf/util/expr.h | 11 ++++-------
tools/perf/util/stat.c | 6 +++++-
4 files changed, 19 insertions(+), 10 deletions(-)
diff --git a/tools/perf/util/bpf-loader.c b/tools/perf/util/bpf-loader.c
index e2052f4fed33..d657594894cf 100644
--- a/tools/perf/util/bpf-loader.c
+++ b/tools/perf/util/bpf-loader.c
@@ -27,7 +27,11 @@
#include "util.h"
#include "llvm-utils.h"
#include "c++/clang-c.h"
-#include "hashmap.h"
+#ifdef HAVE_LIBBPF_SUPPORT
+#include <bpf/hashmap.h>
+#else
+#include "util/hashmap.h"
+#endif
#include "asm/bug.h"
#include <internal/xyarray.h>
diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
index 4852089e1d79..14846b7edb17 100644
--- a/tools/perf/util/evsel.c
+++ b/tools/perf/util/evsel.c
@@ -46,7 +46,11 @@
#include "string2.h"
#include "memswap.h"
#include "util.h"
-#include "hashmap.h"
+#ifdef HAVE_LIBBPF_SUPPORT
+#include <bpf/hashmap.h>
+#else
+#include "util/hashmap.h"
+#endif
#include "pmu-hybrid.h"
#include "off_cpu.h"
#include "../perf-sys.h"
diff --git a/tools/perf/util/expr.h b/tools/perf/util/expr.h
index bd2116983bbb..0403a92d9dcc 100644
--- a/tools/perf/util/expr.h
+++ b/tools/perf/util/expr.h
@@ -2,14 +2,11 @@
#ifndef PARSE_CTX_H
#define PARSE_CTX_H 1
-// There are fixes that need to land upstream before we can use libbpf's headers,
-// for now use our copy unconditionally, since the data structures at this point
-// are exactly the same, no problem.
-//#ifdef HAVE_LIBBPF_SUPPORT
-//#include <bpf/hashmap.h>
-//#else
+#ifdef HAVE_LIBBPF_SUPPORT
+#include <bpf/hashmap.h>
+#else
#include "util/hashmap.h"
-//#endif
+#endif
struct metric_ref;
diff --git a/tools/perf/util/stat.c b/tools/perf/util/stat.c
index 0882b4754fcf..ce5e9e372fc4 100644
--- a/tools/perf/util/stat.c
+++ b/tools/perf/util/stat.c
@@ -14,7 +14,11 @@
#include "evlist.h"
#include "evsel.h"
#include "thread_map.h"
-#include "hashmap.h"
+#ifdef HAVE_LIBBPF_SUPPORT
+#include <bpf/hashmap.h>
+#else
+#include "util/hashmap.h"
+#endif
#include <linux/zalloc.h>
void update_stats(struct stats *stats, u64 val)
--
2.37.2.609.g9ff673ca1a-goog
Em Tue, Aug 23, 2022 at 10:06:04PM -0700, Ian Rogers escreveu: > When libbpf is present the build uses definitions in libbpf hashmap.c, > however, libbpf's hashmap.h wasn't being used. Switch to using the > correct hashmap.h dependent on the define HAVE_LIBBPF_SUPPORT. This > was the original intent in: > https://lore.kernel.org/lkml/20200515221732.44078-8-irogers@google.com/ Thanks, applied. - Arnaldo > Signed-off-by: Ian Rogers <irogers@google.com> > --- > tools/perf/util/bpf-loader.c | 6 +++++- > tools/perf/util/evsel.c | 6 +++++- > tools/perf/util/expr.h | 11 ++++------- > tools/perf/util/stat.c | 6 +++++- > 4 files changed, 19 insertions(+), 10 deletions(-) > > diff --git a/tools/perf/util/bpf-loader.c b/tools/perf/util/bpf-loader.c > index e2052f4fed33..d657594894cf 100644 > --- a/tools/perf/util/bpf-loader.c > +++ b/tools/perf/util/bpf-loader.c > @@ -27,7 +27,11 @@ > #include "util.h" > #include "llvm-utils.h" > #include "c++/clang-c.h" > -#include "hashmap.h" > +#ifdef HAVE_LIBBPF_SUPPORT > +#include <bpf/hashmap.h> > +#else > +#include "util/hashmap.h" > +#endif > #include "asm/bug.h" > > #include <internal/xyarray.h> > diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c > index 4852089e1d79..14846b7edb17 100644 > --- a/tools/perf/util/evsel.c > +++ b/tools/perf/util/evsel.c > @@ -46,7 +46,11 @@ > #include "string2.h" > #include "memswap.h" > #include "util.h" > -#include "hashmap.h" > +#ifdef HAVE_LIBBPF_SUPPORT > +#include <bpf/hashmap.h> > +#else > +#include "util/hashmap.h" > +#endif > #include "pmu-hybrid.h" > #include "off_cpu.h" > #include "../perf-sys.h" > diff --git a/tools/perf/util/expr.h b/tools/perf/util/expr.h > index bd2116983bbb..0403a92d9dcc 100644 > --- a/tools/perf/util/expr.h > +++ b/tools/perf/util/expr.h > @@ -2,14 +2,11 @@ > #ifndef PARSE_CTX_H > #define PARSE_CTX_H 1 > > -// There are fixes that need to land upstream before we can use libbpf's headers, > -// for now use our copy unconditionally, since the data structures at this point > -// are exactly the same, no problem. > -//#ifdef HAVE_LIBBPF_SUPPORT > -//#include <bpf/hashmap.h> > -//#else > +#ifdef HAVE_LIBBPF_SUPPORT > +#include <bpf/hashmap.h> > +#else > #include "util/hashmap.h" > -//#endif > +#endif > > struct metric_ref; > > diff --git a/tools/perf/util/stat.c b/tools/perf/util/stat.c > index 0882b4754fcf..ce5e9e372fc4 100644 > --- a/tools/perf/util/stat.c > +++ b/tools/perf/util/stat.c > @@ -14,7 +14,11 @@ > #include "evlist.h" > #include "evsel.h" > #include "thread_map.h" > -#include "hashmap.h" > +#ifdef HAVE_LIBBPF_SUPPORT > +#include <bpf/hashmap.h> > +#else > +#include "util/hashmap.h" > +#endif > #include <linux/zalloc.h> > > void update_stats(struct stats *stats, u64 val) > -- > 2.37.2.609.g9ff673ca1a-goog -- - Arnaldo
© 2016 - 2026 Red Hat, Inc.