dbus moving into kernel?

Marco Trevisan (Treviño) mail at 3v1n0.net
Fri Sep 24 15:11:55 CEST 2010

Il giorno gio, 16/09/2010 alle 17.23 +0100, Al Johnson ha scritto:
> kdbus is proof-of-concept at the moment, the idea being to reduce the number 
> of context switches needed for each dbus message. One synthetic benchmark 
> shows a 3x speed increase on the n900 but speedup in real world applications 
> seems much more modest.
> http://alban.apinc.org/blog/2010/09/15/d-bus-in-the-kernel-faster/

Some days ago I've tried to port this patch to the Openmoko kernel,
after applying it to the SHR 2.6.32 kernel (patches at [1]), I got
these results (in average):

dbus-ping-pong test:
Ping		dbus-daemon (s)		kdbus (s)	speedup
500 ping	3.33			2.13		36.2%
5000 ping	32.59			26.09		19.9%
50000 ping	313.56			176.35		43.8%

Adrien Bustany’s ipc-performances tool with 60000 random 10 char

dbus-daemon query (s)	kdbus query (s)		speedup
102.75			74.71			27.29%

So, the results are quite good, but the code is actually buggy... In
fact when enabling it for the system dbus session (which our FSO-based
phone mostly uses for exchanging data between apps), some applications
doesn't work as expected (Messages, Contacts...), since the kdbus
"socket" actually just supports only dbus requests with few parameters
(< 8kB) and these apps really have greater requests...

By the way, waiting for kdbus upstream fixes (I've already contacted its
author, who is now aware of the bugs I found), I guess that this system
could give us a nice speedup when with many core applications with very
few sources changes.


PS: More informations about my issues have been filled as comments of
    of the alban's blog article linked above.

[1] http://pastebin.com/3kfnUqzb

More information about the community mailing list