lkml.org 
[lkml]   [2009]   [Apr]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 3/3] ring-buffer: make cpu buffer entries counter atomic



On Thu, 30 Apr 2009, Andrew Morton wrote:

> On Thu, 30 Apr 2009 22:22:13 -0400 Steven Rostedt <rostedt@goodmis.org> wrote:
>
> > @@ -405,7 +405,7 @@ struct ring_buffer_per_cpu {
> > unsigned long nmi_dropped;
> > unsigned long commit_overrun;
> > unsigned long overrun;
> > - unsigned long entries;
> > + atomic_t entries;
>
> This switches `entries' from unsigned-64-bit to signed-32-bit.

Good point. Although I doubt we will have more that 2billion entries in
one cpu buffer. But it can happen. I'll change that to 64 bit atomic.


>
> The signedness thing is just an unfortunate thing with atomic_t and probably
> doesn't matter.
>
> The change in size might or might not be a bug - that's for the person
> who didn't document the data structure to work out ;)
>
>
>
>
> /*
> * head_page == tail_page && head == tail then buffer is empty.
> */
> struct ring_buffer_per_cpu {
>
> the comment refers to vaporfields?
>

Ug, the head_page and tail_page are in this struct. But the "head" and
"tail" are with in the "head_page" and "tail_page" respectively.

-- Steve





\
 
 \ /
  Last update: 2009-05-01 05:31    [W:0.327 / U:0.356 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site