public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Merging relayfs?
@ 2005-07-12  1:10 Tom Zanussi
  2005-07-12  1:45 ` Andrew Morton
                   ` (5 more replies)
  0 siblings, 6 replies; 89+ messages in thread
From: Tom Zanussi @ 2005-07-12  1:10 UTC (permalink / raw)
  To: akpm; +Cc: linux-kernel, karim, varap, richardj_moore


Hi Andrew, can you please merge relayfs?  It provides a low-overhead
logging and buffering capability, which does not currently exist in
the kernel.

relayfs key features:

- Extremely efficient high-speed logging/buffering
- Simple mechanism for user-space data retrieval
- Very short write path
- Can be used in any context, including interrupt context
- No runtime resource allocation
- Doesn't do a kmalloc for each "packet"
- No need for end-recipient
- Data may remain buffered whether it is consumed or not
- Data committed to disk in bulk, not per "packet"
- Can be used in circular-buffer mode for flight-recording

The relayfs code has been in -mm for more than three months following
the extensive review that took place on LKML at the beginning of the
year, at which time we addressed all of the issues people had.  Since
then only a few minor patches to the original codebase have been
needed, most of which were sent to us by users; we'd like to thank
those who took the time to send patches or point out problems.

The code in the -mm tree has also been pounded on very heavily through
normal use and testing, and we haven't seen any problems with it - it
appears to be very stable.

We've also tried to make it as easy as possible for people to create
'quick and dirty' (or more substantial) kernel logging applications.
Included is a link to an example that demonstrates how useful this can
be.  In a nutshell, it uses relayfs logging functions to track
kmalloc/kfree and detect memory leaks.  The only thing it does in the
kernel is to log a small binary record for each kmalloc and kfree.
The data is then post-processed in user space with a simple Perl
script.  You can see an example of the output and the example itself
here:

    http://relayfs.sourceforge.net/examples.html#kleak


Last but not least, it's still small (40k worth of source),
self-contained and unobtrusive to the rest of the kernel.

In summary, relayfs is very stable, is useful to current users and
with inclusion, would be useful to many others.  If you can think of
anything we've overlooked or should work on to get relayfs to the
point of inclusion, please let us know.

Thanks,

Tom Zanussi
Karim Yaghmour



^ permalink raw reply	[flat|nested] 89+ messages in thread
[parent not found: <17107.6290.734560.231978@tut.ibm.com.suse.lists.linux.kernel>]
* RE: Merging relayfs?
@ 2005-07-13  8:13 Spirakis, Charles
  0 siblings, 0 replies; 89+ messages in thread
From: Spirakis, Charles @ 2005-07-13  8:13 UTC (permalink / raw)
  To: Vara Prasad; +Cc: linux-kernel

I believe the Intel tool that Vara is referencing is the Vtune tool
(which has an open source, GPL'ed statistical sampling driver). It keeps
a trace history (instead of aggregating the data) that is passed into
user space so that it can do post processing analysis from user space.
The most common method of aggregating data for sampling/profiling is to
lose the time information of when a sample is taken (for example, that
is what oprofile does). For many people, this is fine. For others, they
want the time information so they can visualize the sequence of events.

Having relayfs merged into the kernel would allow us to have a
consistent and reliable way of passing the data we need from kernel
space into user space.

In essence, relayfs is a basic infrastructure upon which other tools can
be built - whether that's profiling, debugging, logging, etc.

-- charles

> -----Original Message-----
> From: linux-kernel-owner@vger.kernel.org 
> [mailto:linux-kernel-owner@vger.kernel.org] On Behalf Of Vara Prasad
> Sent: Tuesday, July 12, 2005 9:30 PM
> To: unlisted-recipients
> Cc: linux-kernel@vger.kernel.org
> Subject: Re: Merging relayfs?
> 
> *** snip ***
>
> There are tools like itrace and Intel has one (i forgot the 
> name) they would like to get the raw data into user space and 
> do all kinds of fancy statistical analysis, visualization 
> etc. Their value add is the analysis of the data. I am sure 
> you are not suggesting pushing capabilities of those tools to 
> the kernel, right.
> 
> As Steven Rostedt mentioned in his initial reply in this 
> thread, many of us have written adhoc buffering scheme 
> similar to what relayfs provides to debug kernel problems 
> that happen after a long running test, if such facility 
> already exists in the kernel everyone doesn't have to develop one.
> 
> I would like to see relayfs merged.
> 
> 

^ permalink raw reply	[flat|nested] 89+ messages in thread

end of thread, other threads:[~2005-07-26  5:16 UTC | newest]

Thread overview: 89+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-07-12  1:10 Merging relayfs? Tom Zanussi
2005-07-12  1:45 ` Andrew Morton
2005-07-12  2:17   ` Dave Airlie
2005-07-12  2:22   ` Tom Zanussi
2005-07-12  9:12     ` Baruch Even
2005-07-12  2:25 ` Christoph Hellwig
2005-07-12  2:34   ` Andrew Morton
2005-07-12  2:59     ` Karim Yaghmour
2005-07-14 13:26     ` Roman Zippel
2005-07-14 15:01       ` Tom Zanussi
2005-07-17 14:04         ` Roman Zippel
2005-07-17 15:52           ` Tom Zanussi
2005-07-18  5:17             ` Hareesh Nagarajan
2005-07-18 14:31               ` Tom Zanussi
2005-07-18 13:44             ` Steven Rostedt
2005-07-18 14:16               ` Roman Zippel
2005-07-18 14:32                 ` Karim Yaghmour
2005-07-18 15:20                   ` Roman Zippel
2005-07-18 15:58                     ` Tom Zanussi
2005-07-22 20:43                       ` Tom Zanussi
2005-07-22 23:19                         ` Karim Yaghmour
2005-07-23  2:31                           ` Tom Zanussi
2005-07-26  2:35                             ` Karim Yaghmour
2005-07-22 20:43                       ` Tom Zanussi
2005-07-18 14:36                 ` Steven Rostedt
2005-07-18 15:06                   ` Roman Zippel
2005-07-18 14:41               ` Tom Zanussi
2005-07-18  8:40         ` Richard J Moore
2005-07-12 13:03   ` Steven Rostedt
2005-07-12  3:05 ` Greg KH
2005-07-12  3:03   ` Karim Yaghmour
2005-07-12  3:24     ` Greg KH
2005-07-12  3:52       ` Karim Yaghmour
2005-07-12  4:30         ` Greg KH
2005-07-12  4:40           ` Karim Yaghmour
2005-07-12  5:23             ` Greg KH
2005-07-12 14:36               ` Steve Rotolo
2005-07-12  3:55       ` Tom Zanussi
2005-07-12  4:27         ` Greg KH
2005-07-12 14:01 ` Tomasz Kłoczko
2005-07-12 14:21   ` Baruch Even
2005-07-12 15:30     ` Tomasz Kłoczko
2005-07-12 15:16   ` Tom Zanussi
2005-07-12 15:44     ` Tomasz Kłoczko
2005-07-12 16:27       ` Tom Zanussi
2005-07-12 17:01         ` Tomasz Kłoczko
2005-07-12 17:23           ` Tom Zanussi
     [not found]             ` <Pine.BSO.4.62.0507121935500.6919@rudy.mif.pg.gda.pl>
     [not found]               ` <17108.1906.628755.613285@tut.ibm.com>
     [not found]                 ` <Pine.BSO.4.62.0507122026520.6919@rudy.mif.pg.gda.pl>
     [not found]                   ` <17108.5721.202275.377020@tut.ibm.com>
2005-07-12 19:29                     ` Tomasz Kłoczko
2005-07-12 20:44                       ` Vara Prasad
2005-07-12 21:02               ` Vara Prasad
2005-07-13 12:40                 ` Tomasz Kłoczko
2005-07-13 15:04                   ` Vara Prasad
2005-07-13 16:22                     ` Tomasz Kłoczko
2005-07-13  4:29           ` Vara Prasad
2005-07-13 13:47             ` Tomasz Kłoczko
2005-07-13 15:55               ` Karim Yaghmour
2005-07-13 15:56               ` Vara Prasad
2005-07-13 16:50                 ` Tomasz Kłoczko
2005-07-12 14:58 ` Jason Baron
2005-07-12 15:26   ` Tom Zanussi
2005-07-12 16:00     ` Steven Rostedt
2005-07-12 15:53   ` Steven Rostedt
2005-07-12 16:08     ` Tom Zanussi
2005-07-12 16:23       ` Steven Rostedt
2005-07-12 16:36         ` Tom Zanussi
2005-07-12 16:49           ` Steven Rostedt
2005-07-12 17:01             ` Tom Zanussi
2005-07-12 21:38               ` Tom Zanussi
2005-07-12 23:40                 ` Steven Rostedt
2005-07-12 23:55                   ` Andrew Morton
2005-07-13  0:08                     ` Steven Rostedt
2005-07-16 21:07 ` relayfs documentation sucks? bert hubert
2005-07-16 23:13   ` Tom Zanussi
2005-07-17  9:01     ` [PATCH] " bert hubert
2005-07-17 15:43       ` Tom Zanussi
2005-07-17 19:45         ` bert hubert
2005-07-17 20:47           ` Tom Zanussi
2005-07-18 13:27           ` Steven Rostedt
2005-07-20 21:27             ` Paul Jackson
2005-07-20 21:45               ` bert hubert
2005-07-21  0:31                 ` Paul Jackson
2005-07-22 20:01                 ` Paul Jackson
2005-07-22 20:33                   ` relayfs as infrastructure, ltt, systemtap, diskstat bert hubert
2005-07-23 18:53                     ` Christoph Hellwig
2005-07-23 18:53                   ` [PATCH] Re: relayfs documentation sucks? Christoph Hellwig
2005-07-25 23:47                     ` Karim Yaghmour
2005-07-26  5:15                       ` bert hubert
     [not found] <17107.6290.734560.231978@tut.ibm.com.suse.lists.linux.kernel>
     [not found] ` <20050712022537.GA26128@infradead.org.suse.lists.linux.kernel>
     [not found]   ` <20050711193409.043ecb14.akpm@osdl.org.suse.lists.linux.kernel>
2005-07-12  4:36     ` Merging relayfs? Andi Kleen
  -- strict thread matches above, loose matches on Subject: below --
2005-07-13  8:13 Spirakis, Charles

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox