Kernel DBus Now Boots With Systemd On Fedora
An anonymous reader writes "Red Hat developers doing some holiday hacking have managed to get a bootable system with systemd + KDBUS on Fedora 20. KDBUS is a new DBus implementation for the Linux kernel that provides greater security and better performance than the DBus daemon in user-space. Systemd in turn interfaces with KDBUS for user-space interaction. Testing was done on Fedora 20 but the systemd + KDBUS configuration should work on any modern distribution when using the newest code."
So do we just mirror phoronix on slashdot, now?
Why do we need in-kernel DBUS implementation. And please don't tell me about performance, lot's of software with much higher performance requirements is more than happy in userland...
Why is this NOT another example of kernel bloat, and the opposite direcion they should be heading (ie getting user stuff out of the kernel)? Seems like the primary use of D-BUS is for the desktop components, which already abuse/overuse inter-process communication. The "huge performance improvement" is only for those processes that shouldn't be abusing this anyway.
The corruption of GNOME and other opensource projects by tying it specifically to Linux comes with this; it represents giving up on being cross-platform, giving up on the BSDs and other Unices, and giving up on openness. No thanks.
For every problem, there is at least one solution that is simple, neat, and wrong.
Andrew S. Tanenbaum had a point about Linux not being micro kernel.
This is getting crazy: moving perfectly fine userland systems to the kernel.
Isn't the kernel large enough already?
Bram Stolk http://stolk.org/tlctc/
http://lwn.net/Articles/551969/
Linus is okay with it. Have to worry about Al Viro. :-)
Here is an updated talk by Greg K-H that he gave on KDbus, he posted this about 3 days ago. https://github.com/gregkh/presentation-kdbus
Let's stop all the FUD, and educate yourself on the reasons behind on this.
You maybe have a service sending a lot of DBUS messages, because usually a dbus-daemon is very very low in processing time.
root# uptime /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session /usr/bin/dbus-daemon --system
00:18:50 up 17 days, 10:15, 9 users, load average: 0.25, 0.35, 0.39
root# ps -C dbus-daemon fw
PID TTY STAT TIME COMMAND
4616 ? Ss 0:12
2508 ? Ss 0:04
why not give up on dbus, and just use binder, which is already supported in the kernel?
Personally, I _do not want_ this.
While, we are at it, I do not want do-everything daemons like upstart or systemd. These monolithic programs of undefined scope are poor examples of software engineering, and not needed.
strace -p $PID_OF_DBUS_DAEMON
As for your network, it's probably something related to this http://avahi.org/
The really really stupid thing is that desktop isn't even the reason why Linux. Obviously no server needs dbus let alone kdbus, and plenty of desktops don't either. Yes, it's amusing that I get a popup when I plug in a USB stick, but is that essential functionality? Sure, some very simple form of event multicast would be good, but is this it?
Everything LP touches seems to epitomize rebellion against, or ignorance of, the *nix/OSS philosophy (you know, modularity, loosely joined, liberal-in-what-you-accept, etc). systemd is the USSR of rc systems. pulse only remains because apps can still bypass it.
If you don't like how Linux is evolving, you can always help with GNU HURD. It is an opportunity to mold that system in the way you see fit.
Diagnosing such issues is a pain though; and one of the reasons I dislike dbus :/
- Michael T. Babcock (Yes, I blog)
"Note that I'm not condemning this per se"
...
It's understandable why you would want to remain anonymous
There is DBUS tools to inspect the messages bus. Probably that your issue will be nothing different with an other IPC.
Lets just leave it at there's a reason people have had to write things like this:
http://www.webos-internals.org/wiki/Introspecting_Dbus
ps avx; /var/log/*, ipcs and netstat -apn are all much cleaner.
- Michael T. Babcock (Yes, I blog)
Dido, the British singer-songwriter ("White Flag," "Life for Rent")? -- or did you mean, "ditto"
can someone please parse the English for me (first line of TFA): "Open-source developers this week achieved a pleasant late Christmas present for Fedora users of having a working system with using the in-development Linux kernel DBus implementation (KDBUS) paired with the latest systemd code can now yield a booting system."
As a naive user, I'd be wary if they can't even write in English.
work in progress
Modern systems often aren't a single purpose hardware server any more. Mobile devices that have to switch on services like GPS, several networking modems, voice over IP, hotplug hardware and start/stop associated services and such will make you have to run numerous daemons that control just restarting the one small group of services and hardware for every corner case you can imagine if you keep using RC scripts.
Even servers often have nested dependencies these days. You'd want the system to restart a failing middleware application in the correct sequence after you've fixed the filesystem on the storage that ran out of space that caused it to remount r/o on all your web server platform VMs. Try doing a bunch of init.d scripts for that. Either you custom write a script to do it remotely just for your app, or you have the systemd-like control that will just figure out what to do all by itself.
Yes, it adds complexity to very simple single use systems, but it makes dealing with all the glue you have to do to get dependencies on other services and corner cases so much easier. I used to think it was a solution looking for a problem too, until I found out that I could now stop worrying about getting my systems up again after I just solved the single cause of all the problems that got them down in the middle of the night.
I was promised a flying car. Where is my flying car?
Same sequence as start for a runlevel, only do restart instead of start.
Sorry to double reply, but systemd would be a lot more acceptable if it and it's project leaders would be just a bit more conservative (especially in dependencies) and a bit more open to porting to non-Linux systems. As it stands, I hope that failing prompts Debian to pick upstart.
Since rc scripts are currently universal, it makes sense to consider them a gold standard even after moving to an alternative init. In other words, any new init needs to consider support for scripts dropped into init.d and linked in rc[1-5].d to be first class citizens. Ideally, it would auto-generate init.d scripts so that legacy scripts using /etc/init.d/service [start|stop|status] would continue to just work. As opposed to the current case where that is considered to be a 'problem' that needs some sort of remedy.
That compatability should be retained until nobody is using rc scripts anymore (read as "for years to come").
Right now, systemd feels like it will have all of the charm of Gnome3, complete with it's "our way or screw you" attitude that has people avoiding it in droves. Init is too important to hand over to that.
I guess i stlll don't know who the other two people are.
BAIN http://www.devslashzero.com
Standard package of dbus should already contain the dbus-monitor and dbus-send commands.
If you want an easy tool, try D-Feet https://wiki.gnome.org/action/show/Apps/DFeet?action=show&redirect=DFeet.
ps and netstat only show the current state. You need very different others tools to modify the state or to dynamically monitor the state transitions. From this point of vire, DBus if far more generic, coherent and cleaner than a lot of others tools.
I actually found Avahi extremely well implemented. It work exactly as expected and I never have identified any problem with it.
I am afraid that the future will make your dbus-free system more and more challenging. I do a lot of embedded system and the dbus-deamon is so critically important that nothing will work without it.
You're absolutely correct that Windows presents the Desktop before the system is actually ready to do anything. It gives the illusion of faster booting.
Competition Good, Monopoly Bad.