From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753942AbYI3Rtd (ORCPT ); Tue, 30 Sep 2008 13:49:33 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752892AbYI3Rt0 (ORCPT ); Tue, 30 Sep 2008 13:49:26 -0400 Received: from bombadil.infradead.org ([18.85.46.34]:40992 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752812AbYI3RtZ (ORCPT ); Tue, 30 Sep 2008 13:49:25 -0400 Subject: Re: [PATCH v10 Golden] Unified trace buffer From: Peter Zijlstra To: Steven Rostedt Cc: Linus Torvalds , Jonathan Corbet , Mathieu Desnoyers , LKML , Ingo Molnar , Thomas Gleixner , Andrew Morton , prasad@linux.vnet.ibm.com, "Frank Ch. Eigler" , David Wilder , hch@lst.de, Martin Bligh , Christoph Hellwig , Masami Hiramatsu , Steven Rostedt , Arnaldo Carvalho de Melo In-Reply-To: References: <20080929233539.GA31143@Krystal> <20080930000307.GA2929@Krystal> <20080930034603.GA13801@Krystal> <20080930092001.69849210@bike.lwn.net> <1222790072.24384.21.camel@twins> <1222794043.24384.22.camel@twins> Content-Type: text/plain Date: Tue, 30 Sep 2008 19:49:12 +0200 Message-Id: <1222796952.24384.25.camel@twins> Mime-Version: 1.0 X-Mailer: Evolution 2.22.3.1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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.