All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Cc: linux-kernel@vger.kernel.org, Martin Bligh <mbligh@google.com>,
	prasad@linux.vnet.ibm.com,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Steven Rostedt <rostedt@goodmis.org>,
	od@suse.com, "Frank Ch. Eigler" <fche@redhat.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	hch@lst.de, David Wilder <dwilder@us.ibm.com>
Subject: Re: [RFC PATCH] LTTng relay buffer allocation, read, write
Date: Sat, 27 Sep 2008 19:10:18 +0200	[thread overview]
Message-ID: <1222535419.16700.300.camel@lappy.programming.kicks-ass.net> (raw)
In-Reply-To: <20080927134012.GA11930@Krystal>

On Sat, 2008-09-27 at 09:40 -0400, Mathieu Desnoyers wrote:
> As I told Martin, I was thinking about taking an axe and moving stuff around in
> relay. Which I just did.
> 
> This patch reimplements relay with a linked list of pages. Provides read/write
> wrappers which should be used to read or write from the buffers. It's the core
> of a layered approach to the design requirements expressed by Martin and
> discussed earlier.
> 
> It does not provide _any_ sort of locking on buffer data. Locking should be done
> by the caller. Given that we might think of very lightweight locking schemes, it
> makes sense to me that the underlying buffering infrastructure supports event
> records larger than 1 page.
> 
> A cache saving 3 pointers is used to keep track of current page used for the
> buffer for write, read and current subbuffer header pointer lookup. The offset
> of each page within the buffer is saved in the page frame structure to permit
> cache lookup without extra locking.
> 
> TODO : Currently, no splice file operations are implemented. Should come soon.
> The idea is to splice the buffers directly into files or to the network.
> 
> This patch is released as early RFC. It builds, that's about it. Testing will
> come when I implement the splice ops.

Why? What aspects of Steve's ring-buffer interface will hinder us
optimizing the implementation to be as light-weight as you like?

The thing is, I'd like to see it that light as well ;-)

As for the page-spanning entries, I think we can do that with Steve's
system just fine, its just that Linus said its a dumb idea and Steve
dropped it, but there is nothing fundamental stopping us from recording
a length that is > PAGE_SIZE and copying data into the pages one at a
time.

Nor do I see it impossible to implement splice on top of Steve's
ring-buffer..

So again, why?


  reply	other threads:[~2008-09-27 17:14 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-27 13:40 [RFC PATCH] LTTng relay buffer allocation, read, write Mathieu Desnoyers
2008-09-27 17:10 ` Peter Zijlstra [this message]
2008-09-28  8:59   ` Peter Zijlstra
2008-09-29 16:06     ` Mathieu Desnoyers
2008-09-29 15:50   ` Mathieu Desnoyers
2008-09-29 16:38     ` Steven Rostedt
2008-09-29 18:38       ` Mathieu Desnoyers
2008-09-29 19:40         ` Steven Rostedt
2008-09-29 19:54           ` Steven Rostedt
2008-09-29 17:30     ` Peter Zijlstra
2008-09-29 20:31       ` Mathieu Desnoyers
2008-09-29 21:24         ` Steven Rostedt
2008-09-30 17:22           ` Martin Bligh
2008-09-30 17:23             ` Martin Bligh
2008-09-30 18:14               ` Mathieu Desnoyers
2008-09-30 18:22                 ` Steven Rostedt
2008-09-30 18:35                   ` Mathieu Desnoyers
2008-09-30 19:43                     ` Steven Rostedt
2008-09-30 20:01                       ` Frank Ch. Eigler
2008-09-30 20:21                         ` Steven Rostedt
2008-09-30 19:44                     ` Martin Bligh
2008-09-30 19:54                       ` Mathieu Desnoyers
2008-09-30 20:49                         ` Martin Bligh
2008-09-30 20:55                           ` Mathieu Desnoyers

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1222535419.16700.300.camel@lappy.programming.kicks-ass.net \
    --to=a.p.zijlstra@chello.nl \
    --cc=akpm@linux-foundation.org \
    --cc=dwilder@us.ibm.com \
    --cc=fche@redhat.com \
    --cc=hch@lst.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathieu.desnoyers@polymtl.ca \
    --cc=mbligh@google.com \
    --cc=od@suse.com \
    --cc=prasad@linux.vnet.ibm.com \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.