Re: [PATCH v6 2/4] bpf: Add new bpf map type to store the pointer to struct perf_event

2015-08-05 Thread Peter Zijlstra
On Tue, Aug 04, 2015 at 08:58:14AM +, Kaixu Xia wrote: > +static void *perf_event_fd_array_get_ptr(struct bpf_map *map, int fd) > +{ > + struct perf_event *event; > + struct perf_event_attr *attr; > + > + event = perf_event_get(fd); > + if (IS_ERR(event)) > + return

Re: [PATCH v6 2/4] bpf: Add new bpf map type to store the pointer to struct perf_event

2015-08-05 Thread Peter Zijlstra
On Tue, Aug 04, 2015 at 10:43:35AM -0700, Alexei Starovoitov wrote: > >+static void *perf_event_fd_array_get_ptr(struct bpf_map *map, int fd) > >+{ > >+struct perf_event *event; > >+struct perf_event_attr *attr; > >+ > >+event = perf_event_get(fd); > >+if (IS_ERR(event)) > >+

Re: [PATCH v6 2/4] bpf: Add new bpf map type to store the pointer to struct perf_event

2015-08-05 Thread Peter Zijlstra
On Tue, Aug 04, 2015 at 08:58:14AM +, Kaixu Xia wrote: > diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h > index 2027809..81fc99e 100644 > --- a/include/linux/perf_event.h > +++ b/include/linux/perf_event.h > @@ -641,6 +641,8 @@ extern int perf_event_init_task(struct task_

Re: [PATCH v6 2/4] bpf: Add new bpf map type to store the pointer to struct perf_event

2015-08-04 Thread Alexei Starovoitov
On 8/4/15 1:58 AM, Kaixu Xia wrote: diff --git a/kernel/bpf/arraymap.c b/kernel/bpf/arraymap.c index 45df657..b1e98ff 100644 --- a/kernel/bpf/arraymap.c +++ b/kernel/bpf/arraymap.c @@ -273,3 +273,60 @@ static int __init register_prog_array_map(void) return 0; } late_initcall(register_

[PATCH v6 2/4] bpf: Add new bpf map type to store the pointer to struct perf_event

2015-08-04 Thread Kaixu Xia
Introduce a new bpf map type 'BPF_MAP_TYPE_PERF_EVENT_ARRAY'. This map only stores the pointer to struct perf_event. The user space event FDs from perf_event_open() syscall are converted to the pointer to struct perf_event and stored in map. Signed-off-by: Kaixu Xia --- include/linux/bpf.h