Re: [RFC PATCH -v2 3/4] perf: Add persistent event facilities

2012-12-09 Thread Borislav Petkov
On Thu, Aug 16, 2012 at 06:12:35PM -0400, Steven Rostedt wrote: > On Thu, 2012-08-16 at 19:45 +0200, Borislav Petkov wrote: > > > > -static void ring_buffer_put(struct ring_buffer *rb) > > +void ring_buffer_put(struct ring_buffer *rb) > > { > > struct perf_event *event, *n; > > unsigned

Re: [RFC PATCH -v2 3/4] perf: Add persistent event facilities

2012-12-09 Thread Borislav Petkov
On Thu, Aug 16, 2012 at 06:12:35PM -0400, Steven Rostedt wrote: On Thu, 2012-08-16 at 19:45 +0200, Borislav Petkov wrote: -static void ring_buffer_put(struct ring_buffer *rb) +void ring_buffer_put(struct ring_buffer *rb) { struct perf_event *event, *n; unsigned long flags;

Re: [RFC PATCH -v2 3/4] perf: Add persistent event facilities

2012-08-21 Thread Peter Zijlstra
On Thu, 2012-08-16 at 19:45 +0200, Borislav Petkov wrote: > +struct perf_event > +*perf_add_persistent_on_cpu(unsigned int cpu, struct perf_event_desc *desc, > + unsigned nr_pages) > +{ Oh, weird style that, the * is very much part of the type and would thus be on the

Re: [RFC PATCH -v2 3/4] perf: Add persistent event facilities

2012-08-21 Thread Peter Zijlstra
On Thu, 2012-08-16 at 19:45 +0200, Borislav Petkov wrote: > + err_counter: > + perf_event_release_kernel(event); > + > + err_inode: > + trace_remove_file(desc->dentry); > + > + err_trace_file: > + put_unused_fd(event_fd); > + return event; > +} Note that perf code has

Re: [RFC PATCH -v2 3/4] perf: Add persistent event facilities

2012-08-21 Thread Peter Zijlstra
On Thu, 2012-08-16 at 19:45 +0200, Borislav Petkov wrote: + err_counter: + perf_event_release_kernel(event); + + err_inode: + trace_remove_file(desc-dentry); + + err_trace_file: + put_unused_fd(event_fd); + return event; +} Note that perf code has unindented

Re: [RFC PATCH -v2 3/4] perf: Add persistent event facilities

2012-08-21 Thread Peter Zijlstra
On Thu, 2012-08-16 at 19:45 +0200, Borislav Petkov wrote: +struct perf_event +*perf_add_persistent_on_cpu(unsigned int cpu, struct perf_event_desc *desc, + unsigned nr_pages) +{ Oh, weird style that, the * is very much part of the type and would thus be on the

Re: [RFC PATCH -v2 3/4] perf: Add persistent event facilities

2012-08-17 Thread Borislav Petkov
On Thu, Aug 16, 2012 at 06:12:35PM -0400, Steven Rostedt wrote: > On Thu, 2012-08-16 at 19:45 +0200, Borislav Petkov wrote: > > > > -static void ring_buffer_put(struct ring_buffer *rb) > > +void ring_buffer_put(struct ring_buffer *rb) > > { > > struct perf_event *event, *n; > > unsigned

Re: [RFC PATCH -v2 3/4] perf: Add persistent event facilities

2012-08-17 Thread Borislav Petkov
On Thu, Aug 16, 2012 at 06:12:35PM -0400, Steven Rostedt wrote: On Thu, 2012-08-16 at 19:45 +0200, Borislav Petkov wrote: -static void ring_buffer_put(struct ring_buffer *rb) +void ring_buffer_put(struct ring_buffer *rb) { struct perf_event *event, *n; unsigned long flags;

Re: [RFC PATCH -v2 3/4] perf: Add persistent event facilities

2012-08-16 Thread Steven Rostedt
On Thu, 2012-08-16 at 19:45 +0200, Borislav Petkov wrote: > > -static void ring_buffer_put(struct ring_buffer *rb) > +void ring_buffer_put(struct ring_buffer *rb) > { > struct perf_event *event, *n; > unsigned long flags; I have to say that it is really unfortunate that we have two

[RFC PATCH -v2 3/4] perf: Add persistent event facilities

2012-08-16 Thread Borislav Petkov
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 event buffer at event allocation time and not at

[RFC PATCH -v2 3/4] perf: Add persistent event facilities

2012-08-16 Thread Borislav Petkov
From: Borislav Petkov borislav.pet...@amd.com 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 event buffer at event

Re: [RFC PATCH -v2 3/4] perf: Add persistent event facilities

2012-08-16 Thread Steven Rostedt
On Thu, 2012-08-16 at 19:45 +0200, Borislav Petkov wrote: -static void ring_buffer_put(struct ring_buffer *rb) +void ring_buffer_put(struct ring_buffer *rb) { struct perf_event *event, *n; unsigned long flags; I have to say that it is really unfortunate that we have two ring