Re: [PATCH 1/3] ring-buffer: make the buffer a true circular link list

Steven Rostedt
2009-06-11T02:00:56Z

On Thu, 11 Jun 2009, Lai Jiangshan wrote:

> > - list_splice(&pages, head);
> > + /*
> > + * The ring buffer page list is a circular list that does not
> > + * start and end with a list head. All page list items point to
> > + * other pages. Remove one of the pages, init its list head,
> > + * and use list splice to move the rest of the pages to it.
> > + */
> > + bpage = list_entry(pages.next, struct buffer_page, list);
> > + list_del_init(&bpage->list);
> > + cpu_buffer->pages = &bpage->list;
> > +
> > + list_splice(&pages, cpu_buffer->pages);
> > +
>
> Is it proper?
>
> cpu_buffer->pages = pages.next;
> list_del(&pages);
>

Not sure what you are asking here?

-- Steve

> >
> > rb_check_pages(cpu_buffer);
> >