Re: [PATCH v10 Golden] Unified trace buffer

From: Peter Zijlstra
Date: Tue Sep 30 2008 - 13:49:34 EST


On Tue, 2008-09-30 at 13:41 -0400, Steven Rostedt wrote:
> On Tue, 30 Sep 2008, Peter Zijlstra wrote:
> > >
> > > Actually, looking at the code, there is no reason I need to keep this in
> > > the frame buffer itself. I've also encapsulated the accesses to the
> > > incrementing of the pointers so it would be trivial to try other
> > > approaches.
> > >
> > > The problem we had with the big array struct is that we can want large
> > > buffers and to do that with pointers means we would need to either come up
> > > with a large allocator or use vmap.
> > >
> > > But I just realized that I could also just make a link list of page
> > > pointers and do the exact same thing without having to worry about page
> > > frames. Again, the way I coded this up, it is quite trivial to replace
> > > the handling of the pages with other schemes.
> >
> > The list_head in the page frame should be available regardless of
> > splice() stuffs.
>
> Regardless, there's more info we want to store for each page than the list
> head. Especially when we start converting this to lockless. I rather get
> out of the overlaying of the page frames, its nice to save the space, but
> really scares the hell out of me. I can just imagine this blowing up if we
> redo the paging, and I dislike this transparent coupling between the
> tracer buffer and the pages.

The problem with storing the page link information inside the page is
that it doesnt transfer to another address space, so if you do indeed
mmap these pages, then the link information is bogus.

Of course, in such a situation you could ignore these headers, but
somehow that doesn't sound too apealing.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/