Hey Christian, Thank you for your clarification, I really appreciate it...
My mistake. I understand it better now. My confusion started when I read that on uselessd webpage: "What version of systemd is uselessd based on? systemd-208-stable. We chose this, because it predates kdbus integration into PID1". Then, I started to think even more about what systemd is trying to do/achieve... Thank you! On 22 October 2014 19:16, Christian Seiler <christ...@iwakd.de> wrote: > > Hey, remember that kdbus thing?! That did not entered into Linux 3.15 > > as expected?! > > > > Guess what?! It is now in PID1!! Can you guys see it?! All kinds of > > trash are being pushed into PID1. > > That is very, very misleading at best. > > First of all: kdbus is currently an out-of-tree kernel module that can > be found under [1]. The whole point of kdbus is to move most of the dbus > logic into the kernel. So the idea that PID1 reimplements kdbus doesn't > really make sense in this context. > > What is correct is that kdbus is not JUST a kernel module but that there > are some userspace components necessary to make it work: > > 1. a small bit of code to set it up initially > 2. obviously some kind of code that accesses kdbus functionality from > applications > 3. a kind of 'bridge' that allows legacy dbus applications to work > (translates messages back and forth) > > It is true that the systemd people decided to put part 1 into PID1 > (primarily because systemd wants to be able to use kdbus itself for IPC, > so it has to be set up early). > > BUT: one has to specify the --enable-kdbus configure flag in order to > actually enable it. Debian's build currently don't do that, so Debian's > systemd binary (i.e. PID1) doesn't actually call any code related to > initializing kdbus. > > Also note that initializing kdbus is probably quite a bit simpler than > initializing SELinux for example, for which even sysvinit contains code > under jessie. > > It does contain some code that allows it to USE kdbus (as a bus client, > like any other application too, i.e. part 2 above), but that is not > actually called, because the call paths are #ifdef'd out. The only > legitimate complaint that one may lodge against this that I can see here > is that the binary is slightly larger than it needs to be. > > Part 3 of kdbus userspace (i.e. the bridge) is implemented as a separate > binary in systemd, namely systemd-bus-proxyd. This binary is not started > unless kdbus is available, so again, the only valid complaint about this > that I can see is that is uses a small bit of unecessary disk space. > (284KiB in current jessie.) But regardless, this is NOT in PID1 and was > never supposed to be in PID1. > > Therefore: kdbus functionality is NOT USED in PID1 in Debian jessie. The > bits of code that are there are never called and thus harmless, save for > a bit of unnecessarily used disk space. > > Christian > > [1] https://github.com/gregkh/kdbus > >