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
>
>

Reply via email to