Re: [PATCH v2 03/14] perf: Add persistent event facilities

2013-06-25 Thread Robert Richter
On 25.06.13 17:29:41, Borislav Petkov wrote: > How about > > perf_add_pevent? > > It is nice and short, although maybe too short but "pevent" is almost > like a special term and the name shows that it is a special type of > event, i.e. a p-event. Fine with me, though it's more for internal

Re: [PATCH v2 03/14] perf: Add persistent event facilities

2013-06-25 Thread Borislav Petkov
On Tue, Jun 25, 2013 at 12:51:35PM +0200, Robert Richter wrote: > On 25.06.13 11:37:06, Borislav Petkov wrote: > > On Tue, Jun 25, 2013 at 11:24:39AM +0200, Robert Richter wrote: > > > I also see 'pers_' not as an optimum since it could be mixed-up easily > > > with 'perf_'. Maybe we take

Re: [PATCH v2 03/14] perf: Add persistent event facilities

2013-06-25 Thread Robert Richter
On 25.06.13 11:37:06, Borislav Petkov wrote: > On Tue, Jun 25, 2013 at 11:24:39AM +0200, Robert Richter wrote: > > I also see 'pers_' not as an optimum since it could be mixed-up easily > > with 'perf_'. Maybe we take 'persist_' instead? > > Yep, although it reads wrong: > >

Re: [PATCH v2 03/14] perf: Add persistent event facilities

2013-06-25 Thread Borislav Petkov
On Tue, Jun 25, 2013 at 11:24:39AM +0200, Robert Richter wrote: > On 25.06.13 09:44:01, Peter Zijlstra wrote: > > Elsewhere in this series you use 'pers' to shorten things; it reads a > > bit odd to me because 'pers' is the Dutch word for press (both meanings > > transfer) but that is just

Re: [PATCH v2 03/14] perf: Add persistent event facilities

2013-06-25 Thread Robert Richter
On 25.06.13 09:44:01, Peter Zijlstra wrote: > Elsewhere in this series you use 'pers' to shorten things; it reads a > bit odd to me because 'pers' is the Dutch word for press (both meanings > transfer) but that is just something I'll have to live with isn't it ;-) > > As for tracepoint, it seems

Re: [PATCH v2 03/14] perf: Add persistent event facilities

2013-06-25 Thread Robert Richter
On 24.06.13 11:32:04, Peter Zijlstra wrote: > I generally disapprove of indented labels. None of the perf code has > that and the tools are easy to 'fix'. > > My quiltrc contains: > > QUILT_DIFF_OPTS="-F ^[[:alpha:]\$_].*[^:]\$" > > my .gitconfig contains: > > [diff "default"] >

Re: [PATCH v2 03/14] perf: Add persistent event facilities

2013-06-25 Thread Robert Richter
On 24.06.13 11:44:58, Peter Zijlstra wrote: > > +static void del_persistent_event(int cpu, struct perf_event_attr *attr) > > +{ > > + struct pers_event_desc *desc, *tmp; > > + struct perf_event *event = NULL; > > + > > + list_for_each_entry_safe(desc, tmp, _cpu(pers_events, cpu), plist) { >

Re: [PATCH v2 03/14] perf: Add persistent event facilities

2013-06-25 Thread Peter Zijlstra
On Mon, Jun 24, 2013 at 09:26:16PM +0200, Borislav Petkov wrote: > On Mon, Jun 24, 2013 at 11:48:30AM +0200, Peter Zijlstra wrote: > > On Tue, Jun 11, 2013 at 06:42:29PM +0200, Robert Richter wrote: > > > +int perf_add_persistent_event_by_id(int id) > > > +{ > > > + struct perf_event_attr *attr; >

Re: [PATCH v2 03/14] perf: Add persistent event facilities

2013-06-25 Thread Peter Zijlstra
On Mon, Jun 24, 2013 at 09:26:16PM +0200, Borislav Petkov wrote: On Mon, Jun 24, 2013 at 11:48:30AM +0200, Peter Zijlstra wrote: On Tue, Jun 11, 2013 at 06:42:29PM +0200, Robert Richter wrote: +int perf_add_persistent_event_by_id(int id) +{ + struct perf_event_attr *attr; + +

Re: [PATCH v2 03/14] perf: Add persistent event facilities

2013-06-25 Thread Robert Richter
On 24.06.13 11:44:58, Peter Zijlstra wrote: +static void del_persistent_event(int cpu, struct perf_event_attr *attr) +{ + struct pers_event_desc *desc, *tmp; + struct perf_event *event = NULL; + + list_for_each_entry_safe(desc, tmp, per_cpu(pers_events, cpu), plist) { +

Re: [PATCH v2 03/14] perf: Add persistent event facilities

2013-06-25 Thread Robert Richter
On 24.06.13 11:32:04, Peter Zijlstra wrote: I generally disapprove of indented labels. None of the perf code has that and the tools are easy to 'fix'. My quiltrc contains: QUILT_DIFF_OPTS=-F ^[[:alpha:]\$_].*[^:]\$ my .gitconfig contains: [diff default] xfuncname =

Re: [PATCH v2 03/14] perf: Add persistent event facilities

2013-06-25 Thread Robert Richter
On 25.06.13 09:44:01, Peter Zijlstra wrote: Elsewhere in this series you use 'pers' to shorten things; it reads a bit odd to me because 'pers' is the Dutch word for press (both meanings transfer) but that is just something I'll have to live with isn't it ;-) As for tracepoint, it seems

Re: [PATCH v2 03/14] perf: Add persistent event facilities

2013-06-25 Thread Borislav Petkov
On Tue, Jun 25, 2013 at 11:24:39AM +0200, Robert Richter wrote: On 25.06.13 09:44:01, Peter Zijlstra wrote: Elsewhere in this series you use 'pers' to shorten things; it reads a bit odd to me because 'pers' is the Dutch word for press (both meanings transfer) but that is just something I'll

Re: [PATCH v2 03/14] perf: Add persistent event facilities

2013-06-25 Thread Robert Richter
On 25.06.13 11:37:06, Borislav Petkov wrote: On Tue, Jun 25, 2013 at 11:24:39AM +0200, Robert Richter wrote: I also see 'pers_' not as an optimum since it could be mixed-up easily with 'perf_'. Maybe we take 'persist_' instead? Yep, although it reads wrong: perf_add_persist_event We

Re: [PATCH v2 03/14] perf: Add persistent event facilities

2013-06-25 Thread Borislav Petkov
On Tue, Jun 25, 2013 at 12:51:35PM +0200, Robert Richter wrote: On 25.06.13 11:37:06, Borislav Petkov wrote: On Tue, Jun 25, 2013 at 11:24:39AM +0200, Robert Richter wrote: I also see 'pers_' not as an optimum since it could be mixed-up easily with 'perf_'. Maybe we take 'persist_'

Re: [PATCH v2 03/14] perf: Add persistent event facilities

2013-06-25 Thread Robert Richter
On 25.06.13 17:29:41, Borislav Petkov wrote: How about perf_add_pevent? It is nice and short, although maybe too short but pevent is almost like a special term and the name shows that it is a special type of event, i.e. a p-event. Fine with me, though it's more for internal usage. There

Re: [PATCH v2 03/14] perf: Add persistent event facilities

2013-06-24 Thread Borislav Petkov
On Mon, Jun 24, 2013 at 11:48:30AM +0200, Peter Zijlstra wrote: > On Tue, Jun 11, 2013 at 06:42:29PM +0200, Robert Richter wrote: > > +int perf_add_persistent_event_by_id(int id) > > +{ > > + struct perf_event_attr *attr; > > + > > + attr = kzalloc(sizeof(*attr), GFP_KERNEL); > > + if

Re: [PATCH v2 03/14] perf: Add persistent event facilities

2013-06-24 Thread Peter Zijlstra
On Tue, Jun 11, 2013 at 06:42:29PM +0200, Robert Richter wrote: > +int perf_add_persistent_event_by_id(int id) > +{ > + struct perf_event_attr *attr; > + > + attr = kzalloc(sizeof(*attr), GFP_KERNEL); > + if (!attr) > + return -ENOMEM; > + > + attr->sample_period =

Re: [PATCH v2 03/14] perf: Add persistent event facilities

2013-06-24 Thread Peter Zijlstra
> +static void del_persistent_event(int cpu, struct perf_event_attr *attr) > +{ > + struct pers_event_desc *desc, *tmp; > + struct perf_event *event = NULL; > + > + list_for_each_entry_safe(desc, tmp, _cpu(pers_events, cpu), plist) { > + if (desc->attr->config ==

Re: [PATCH v2 03/14] perf: Add persistent event facilities

2013-06-24 Thread Peter Zijlstra
On Tue, Jun 11, 2013 at 06:42:29PM +0200, Robert Richter wrote: > +static struct perf_event * > +add_persistent_event_on_cpu(unsigned int cpu, struct perf_event_attr *attr, > + unsigned nr_pages) > +{ > + struct perf_event *event = ERR_PTR(-ENOMEM); > + struct

Re: [PATCH v2 03/14] perf: Add persistent event facilities

2013-06-24 Thread Peter Zijlstra
On Tue, Jun 11, 2013 at 06:42:29PM +0200, Robert Richter wrote: +static struct perf_event * +add_persistent_event_on_cpu(unsigned int cpu, struct perf_event_attr *attr, + unsigned nr_pages) +{ + struct perf_event *event = ERR_PTR(-ENOMEM); + struct

Re: [PATCH v2 03/14] perf: Add persistent event facilities

2013-06-24 Thread Peter Zijlstra
+static void del_persistent_event(int cpu, struct perf_event_attr *attr) +{ + struct pers_event_desc *desc, *tmp; + struct perf_event *event = NULL; + + list_for_each_entry_safe(desc, tmp, per_cpu(pers_events, cpu), plist) { + if (desc-attr-config == attr-config) {

Re: [PATCH v2 03/14] perf: Add persistent event facilities

2013-06-24 Thread Peter Zijlstra
On Tue, Jun 11, 2013 at 06:42:29PM +0200, Robert Richter wrote: +int perf_add_persistent_event_by_id(int id) +{ + struct perf_event_attr *attr; + + attr = kzalloc(sizeof(*attr), GFP_KERNEL); + if (!attr) + return -ENOMEM; + + attr-sample_period = 1; +

Re: [PATCH v2 03/14] perf: Add persistent event facilities

2013-06-24 Thread Borislav Petkov
On Mon, Jun 24, 2013 at 11:48:30AM +0200, Peter Zijlstra wrote: On Tue, Jun 11, 2013 at 06:42:29PM +0200, Robert Richter wrote: +int perf_add_persistent_event_by_id(int id) +{ + struct perf_event_attr *attr; + + attr = kzalloc(sizeof(*attr), GFP_KERNEL); + if (!attr) +

Re: [PATCH v2 03/14] perf: Add persistent event facilities

2013-06-14 Thread Robert Richter
On 14.06.13 11:15:13, Namhyung Kim wrote: > > +int perf_get_persistent_event_fd(unsigned cpu, struct perf_event_attr > > *attr) > > +{ > > + struct pers_event_desc *desc; > > + > > + if (cpu >= (unsigned)nr_cpu_ids) > > + return -EINVAL; > > + > > + list_for_each_entry(desc,

Re: [PATCH v2 03/14] perf: Add persistent event facilities

2013-06-14 Thread Robert Richter
On 14.06.13 11:15:13, Namhyung Kim wrote: +int perf_get_persistent_event_fd(unsigned cpu, struct perf_event_attr *attr) +{ + struct pers_event_desc *desc; + + if (cpu = (unsigned)nr_cpu_ids) + return -EINVAL; + + list_for_each_entry(desc, per_cpu(pers_events,

Re: [PATCH v2 03/14] perf: Add persistent event facilities

2013-06-13 Thread Namhyung Kim
Hi Robert and Boris, On Tue, 11 Jun 2013 18:42:29 +0200, Robert Richter wrote: > From: Borislav Petkov > > Add a barebones implementation for registering persistent events with > perf. For that, we don't destroy the buffers when they're unmapped; > also, we map them read-only so that multiple

Re: [PATCH v2 03/14] perf: Add persistent event facilities

2013-06-13 Thread Namhyung Kim
Hi Robert and Boris, On Tue, 11 Jun 2013 18:42:29 +0200, Robert Richter wrote: From: Borislav Petkov b...@alien8.de Add a barebones implementation for registering persistent events with perf. For that, we don't destroy the buffers when they're unmapped; also, we map them read-only so that

[PATCH v2 03/14] perf: Add persistent event facilities

2013-06-11 Thread Robert Richter
From: Borislav Petkov Add a barebones implementation for registering persistent events with perf. For that, we don't destroy the buffers when they're unmapped; also, we map them read-only so that multiple agents can access them. Also, we allocate the event buffers at event init time and not at

[PATCH v2 03/14] perf: Add persistent event facilities

2013-06-11 Thread Robert Richter
From: Borislav Petkov b...@alien8.de Add a barebones implementation for registering persistent events with perf. For that, we don't destroy the buffers when they're unmapped; also, we map them read-only so that multiple agents can access them. Also, we allocate the event buffers at event init