public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Balbir Singh <balbir@in.ibm.com>
To: Tim Bird <tim.bird@am.sony.com>
Cc: Andrew Morton <akpm@osdl.org>, Martin Peschke <mp3@de.ibm.com>,
	linux-kernel@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: netlink vs. debugfs (was Re: [Patch 0/6] statistics infrastructure)
Date: Tue, 23 May 2006 00:04:00 +0530	[thread overview]
Message-ID: <20060522183359.GA26551@in.ibm.com> (raw)
In-Reply-To: <4471FE52.8090107@am.sony.com>

On Mon, May 22, 2006 at 11:09:22AM -0700, Tim Bird wrote:
> Andrew Morton wrote:
> > Martin Peschke <mp3@de.ibm.com> wrote:
> >> My patch series is a proposal for a generic implementation of statistics.
> > 
> > This uses debugfs for the user interface, but the
> > per-task-delay-accounting-*.patch series from Balbir creates an extensible
> > netlink-based system for passing instrumentation results back to userspace.
> > 
> > Can this code be converted to use those netlink interfaces, or is Balbir's
> > approach unsuitable, or hasn't it even been considered, or what?
> 
> Can someone give me the 20-second elevator pitch on why
> netlink is preferred over debugfs?  I've heard of a
> number of debugfs/procfs users requested to switch over.
> 
> Thanks,
>  -- Tim
> 
> =============================
> Tim Bird
> Architecture Group Chair, CE Linux Forum
> Senior Staff Engineer, Sony Electronics
> =============================

Hi, Tim,

I am no debugfs expert, I hope I can do justice to the comparison.

Debugfs						Netlink/Genetlink

1. Filesystem based - requires creating		Several types of data can
   files for each type of data passed		be multiplexed over one netlink
   down						socket.
2. Hard to determine record format/data		Contains metadata including
						type of data and length
						with each record
3. Notifications are hard			Notifications are very easy
   I think they can be done using inotify	good library support for
						notifications. Data can
						either be broadcast or
						selectively mulitcast
4. Requires several open/read/write/close	A single socket can be
   operations					opened, data from kernel
						space can be multiplexed
						over it.

I don't think I did any justice to the advantages of debugfs. The only
one I can think of is that it uses relayfs. Relayfs is efficient in the
sense that it uses per-cpu buffers.

Anybody else want to take a shot in comparing the two?

	Balbir Singh,
	Linux Technology Center,
	IBM Software Labs

  reply	other threads:[~2006-05-22 18:38 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-19 16:07 [Patch 0/6] statistics infrastructure Martin Peschke
2006-05-19 16:24 ` Andrew Morton
     [not found]   ` <661de9470605191159n75578d60qd1f3309e3a7e2234@mail.gmail.com>
2006-05-19 19:02     ` Balbir Singh
2006-05-19 23:03   ` Martin Peschke
2006-05-21 11:29     ` Balbir Singh
2006-05-22 18:09   ` netlink vs. debugfs (was Re: [Patch 0/6] statistics infrastructure) Tim Bird
2006-05-22 18:34     ` Balbir Singh [this message]
2006-05-22 18:53       ` Evgeniy Polyakov
2006-05-23 16:59   ` [Patch 0/6] statistics infrastructure Martin Peschke
2006-05-23 21:42     ` Andrew Morton
2006-05-24  3:12       ` Balbir Singh

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=20060522183359.GA26551@in.ibm.com \
    --to=balbir@in.ibm.com \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mp3@de.ibm.com \
    --cc=netdev@vger.kernel.org \
    --cc=tim.bird@am.sony.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox