Re: [GIT PULL] kdbus for 4.1-rc1

Theodore Ts'o
2015-04-28T17:19:01Z

On Tue, Apr 28, 2015 at 10:48:10AM -0400, Havoc Pennington wrote:
> btw if I can make a suggestion, it's quite confusing to talk about
> "dbus" unqualified when we are talking about implementation issues,
> since it muddles bus daemon vs. clients, and also since there are lots
> of implementations of the client bindings:
>
> http://www.freedesktop.org/wiki/Software/DBusBindings/
>
> For the bus daemon, the only two implementations I know of are the
> original one (which uses libdbus as its binding) and kdbus, though.
>
> I would expect there's no question the bus daemon can be faster, maybe
> say 1.5x raw sockets instead of 2.5x, or whatever - something on that
> order. Should probably simply stipulate this for discussion purposes:
> "someone could optimize the crap out of the bus daemon". The kdbus
> question is about whether to eliminate this daemon entirely.

So the question is if one of the justifications for moving the daemon
into kernel space is that it's performance is crap, then I think it is
useful to determine whether a fully optimized userspace daemon would
be good enough.

After all, we can go down the Novell Netware path and push arbitrary
web servers, ldap servers, etc. all into the kernel on the excuse of
"the performance would be faster". But that begs the question of how
much performance improvements can be made purely in userspace, and
ignores all of the security and stability costs of moving more and
more code into the kernel.

So the question I have is why in the world do we want to be able to
support 1.5x raw sockets for a bus speed? What's the use case where
that kind of performance is required for a bus based system, and is
that a world we really want to live in? I find dbus to be extremely
hard to debug when my desktop starts doing things I don't want it to
do. The fact that it might be flinging around hundreds of thousands
of messages, and that this is something we want to encourage, doesn't
make me feel any more kindly inclined towards dbus or kdbus....

- Ted