[lkml]   [2008]   [Sep]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH v6] Unified trace buffer

On Fri, 26 Sep 2008, Richard Holden wrote:

> On 9/26/08 12:05 PM, "Steven Rostedt" <> wrote:
> > ring_buffer_alloc: create a new ring buffer. Can choose between
> > overwrite or consumer/producer mode. Overwrite will
> > overwrite old data, where as consumer producer will
> > throw away new data if the consumer catches up with the
> > producer. The consumer/producer is the default.
> Forgive me if I've gotten this wrong but the terminology seems backwards
> Here, I would think we only throw away new data if the producer catches up
> with the consumer, if the consumer catches up with the producer we're
> reading data as fast as it's being written.

Argh! Yes. I'm the one that is backwards ;-)

Yeah, that is what I meant. Don't you know? You are suppose to understand
what I mean, not what I say :)

> >
> > ring_buffer_write: writes some data into the ring buffer.
> >
> > ring_buffer_peek: Look at a next item in the cpu buffer.
> > ring_buffer_consume: get the next item in the cpu buffer and
> > consume it. That is, this function increments the head
> > pointer.
> Here too, I would think that consuming data would modify the tail pointer.

I always get confused with the translation of what the head/tail to

Here I have the producer adding to the tail, and the consumer reading from
the head. Perhaps this is backwards? I could change it.


That could do it.

> >
> > Signed-off-by: Steven Rostedt <>
> Just trying to understand the terminology before I look at the code so I'm
> sorry if I have just completely misunderstood.

Sure, thanks.

-- Steve

 \ /
  Last update: 2008-09-26 20:43    [W:0.139 / U:4.368 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site