Messages in this thread | | | From | Song Liu <> | Subject | Re: [PATCH 5/9] perf, bpf: save bpf_prog_info in a rbtree in perf_env | Date | Thu, 14 Feb 2019 17:01:48 +0000 |
| |
> On Feb 14, 2019, at 4:26 AM, Jiri Olsa <jolsa@redhat.com> wrote: > > On Fri, Feb 08, 2019 at 05:17:01PM -0800, Song Liu wrote: > > SNIP > >> diff --git a/tools/perf/util/env.h b/tools/perf/util/env.h >> index d01b8355f4ca..5894a177b7cf 100644 >> --- a/tools/perf/util/env.h >> +++ b/tools/perf/util/env.h >> @@ -3,7 +3,10 @@ >> #define __PERF_ENV_H >> >> #include <linux/types.h> >> +#include <linux/rbtree.h> >> #include "cpumap.h" >> +#include "rwsem.h" >> +#include "bpf-event.h" >> >> struct cpu_topology_map { >> int socket_id; >> @@ -64,6 +67,8 @@ struct perf_env { >> struct memory_node *memory_nodes; >> unsigned long long memory_bsize; >> u64 clockid_res_ns; >> + struct rw_semaphore bpf_info_lock; > > why's the lock needed? > > jirka
It protects the retries for bpf_prog_info and btf. For perf-top, we will have one thread writing to the trees, while the main thread reading from them.
Let me add comments to clarify.
Thanks, Song
| |