On Mon, May 22, 2006 at 11:09:22AM -0700, Tim Bird wrote:
> Andrew Morton wrote:
> > Martin Peschke <[EMAIL PROTECTED]> 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
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to