Re: [PATCHv3] perf: Fix vmalloc ring buffer free function

2013-03-19 Thread Peter Zijlstra
> are you going to include that, or should I repost it? Ah, please repost (and prettify) it, I'm still very limited in the amount of work that I can do :/ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordo

Re: [PATCHv3] perf: Fix vmalloc ring buffer free function

2013-03-18 Thread Jiri Olsa
On Wed, Mar 13, 2013 at 12:15:57PM +0100, Jiri Olsa wrote: > On Tue, Mar 12, 2013 at 06:04:16PM +0100, Jiri Olsa wrote: > > On Tue, Mar 12, 2013 at 05:24:50PM +0100, Peter Zijlstra wrote: > > > Right you are.. > > > > > > How about something like the below; using that 0 << -1 is still 0. > > > >

Re: [PATCHv3] perf: Fix vmalloc ring buffer free function

2013-03-13 Thread Jiri Olsa
On Tue, Mar 12, 2013 at 06:04:16PM +0100, Jiri Olsa wrote: > On Tue, Mar 12, 2013 at 05:24:50PM +0100, Peter Zijlstra wrote: > > Right you are.. > > > > How about something like the below; using that 0 << -1 is still 0. > > hum.. we are obviously not on the same page wrt 'confusing' ;-) > > look

Re: [PATCHv3] perf: Fix vmalloc ring buffer free function

2013-03-12 Thread Jiri Olsa
On Tue, Mar 12, 2013 at 05:24:50PM +0100, Peter Zijlstra wrote: > Right you are.. > > How about something like the below; using that 0 << -1 is still 0. hum.. we are obviously not on the same page wrt 'confusing' ;-) looks ok, I'll test it jirka > > --- > kernel/events/ring_buffer.c | 8

Re: [PATCHv3] perf: Fix vmalloc ring buffer free function

2013-03-12 Thread Peter Zijlstra
Right you are.. How about something like the below; using that 0 << -1 is still 0. --- kernel/events/ring_buffer.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/kernel/events/ring_buffer.c b/kernel/events/ring_buffer.c index 23cb34f..e72ca70 100644 --- a/kernel/even

Re: [PATCHv3] perf: Fix vmalloc ring buffer free function

2013-03-12 Thread Jiri Olsa
On Tue, Mar 12, 2013 at 04:26:12PM +0100, Peter Zijlstra wrote: > On Tue, 2013-03-12 at 14:52 +0100, Jiri Olsa wrote: > > > @@ -373,7 +373,7 @@ struct ring_buffer *rb_alloc(int nr_pages, long > > > watermark, int cpu, int flags) > > > rb->user_page = all_buf; > > > rb->data_pages[0] =

Re: [PATCHv3] perf: Fix vmalloc ring buffer free function

2013-03-12 Thread Peter Zijlstra
On Tue, 2013-03-12 at 14:52 +0100, Jiri Olsa wrote: > > @@ -373,7 +373,7 @@ struct ring_buffer *rb_alloc(int nr_pages, long > > watermark, int cpu, int flags) > > rb->user_page = all_buf; > > rb->data_pages[0] = all_buf + PAGE_SIZE; > > rb->page_order = ilog2(nr_pages); > > -

Re: [PATCHv3] perf: Fix vmalloc ring buffer free function

2013-03-12 Thread Jiri Olsa
On Tue, Mar 12, 2013 at 11:27:10AM +0100, Peter Zijlstra wrote: > On Tue, 2013-03-12 at 11:05 +0100, Jiri Olsa wrote: SNIP > --- > kernel/events/ring_buffer.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/kernel/events/ring_buffer.c b/kernel/events/ring_buffer.c

Re: [PATCHv3] perf: Fix vmalloc ring buffer free function

2013-03-12 Thread Peter Zijlstra
On Tue, 2013-03-12 at 11:53 +0100, Jiri Olsa wrote: > > @@ -316,7 +316,7 @@ void rb_free(struct ring_buffer *rb) > > struct page * > > perf_mmap_to_page(struct ring_buffer *rb, unsigned long pgoff) > > { > > - if (pgoff > (1UL << page_order(rb))) > > + if (pgoff > rb->nr_pages) > >

Re: [PATCHv3] perf: Fix vmalloc ring buffer free function

2013-03-12 Thread Jiri Olsa
On Tue, Mar 12, 2013 at 11:27:10AM +0100, Peter Zijlstra wrote: > On Tue, 2013-03-12 at 11:05 +0100, Jiri Olsa wrote: > > +/* > > + * Returns the total number of pages allocated > > + * by ring buffer including the user page. > > + */ > > +static int page_nr(struct ring_buffer *rb) > > +{ > > +

Re: [PATCHv3] perf: Fix vmalloc ring buffer free function

2013-03-12 Thread Peter Zijlstra
On Tue, 2013-03-12 at 11:05 +0100, Jiri Olsa wrote: > +/* > + * Returns the total number of pages allocated > + * by ring buffer including the user page. > + */ > +static int page_nr(struct ring_buffer *rb) > +{ > + return page_order(rb) == -1 ? > + 1 :/*