lkml.org 
[lkml]   [2003]   [Oct]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH][RFC] relayfs (1/4) (Documentation)
David S. Miller writes:
> On Thu, 09 Oct 2003 13:42:09 -0400
> Karim Yaghmour <karim@opersys.com> wrote:
>
> >
> > James Morris wrote:
> > > It should be possible to make Netlink sockets mmapable (like the packet
> > > socket).
> >
> > So would you consider running printk on Netlink sockets? Do you think Netlink
> > could accomodate something as intensive as tracing? etc.
>
> Of course it can. Look, netlink is used on routers to transfer
> hundreds of thousands of routing table entries in one fell swoop
> between a user process and the kernel every time the next hop Cisco
> has a BGP routing flap.
>
> If you must have "enterprise wide client server" performance, we can
> add mmap() support to netlink sockets just like AF_PACKET sockets support
> such a thing. But I _really_ doubt you need this and unlike netlink sockets
> relayfs has no queueing model, whereas not only does netlink have one it's
> been tested in real life.
>
> You guys are really out of your mind if you don't just take the netlink
> printk thing I did months ago and just run with it. When someone first
> told showed me this relayfs thing, I nearly passed out in disbelief that
> people are still even considering non-netlink solutions.
>

Well, if you add mmap() support, and remove all the dependencies
Netlink has on networking code, and add a non-sockets-based interface,
then you'd have something that could be used by everyone regardless of
whether they have networking configured in. You'd also then have
something just as 'untested in real life' as relayfs, unless it really
does just boil down to some minor tweaks.

Some other things relayfs supports which I'm not sure (literally)
Netlink supports

- relay_write() can be called from any context
- relayfs has support for per-CPU buffering
- it doesn't require a memory allocation for each packet, so can be
used in low-memory situations
- relayfs by design supports packet buffering, so can be used at boot time
- relayfs is reliable - the only way packets get dropped is if the
buffer fills up, but this is addressed by a dynamic resizing
capability, or by making the buffers larger to start out with.

--
Regards,

Tom Zanussi <zanussi@us.ibm.com>
IBM Linux Technology Center/RAS

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:49    [W:0.119 / U:0.832 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site