[systemd-devel] An update

Gustavo Sverzut Barbieri barbieri at profusion.mobi
Sun Nov 7 08:15:02 PST 2010


Hi, just arrived from LPC, where we had great talks around boot
optimizations and thus systemd! Find some points below:

On Tue, Nov 2, 2010 at 9:34 PM, Canek Peláez Valdés <caneko at gmail.com> wrote:
> Hi; I just wanted to give an update on the status of my system running
> Gentoo with systemd. I run a full GNOME desktop, with NetworkManager
> for connectivity, in a laptop with an Intel Core 2 Duo processor at
> 2.26 Ghz, 4Gb of memory
>
> I'm using the systemd ebuild from Gustavo, with some small
> modfications, and the ebuilds from Gentoo changed as little as
> possible, and using stable versions when possible. With that, I ran
> into three problems.

which ebuilds do you need more? AFAIR you just need my systemd.ebuild
and it should work with upstream portage.

BTW, Greg KH which happens to be a Gentoo maintainer offered himself
to help merging systemd ebuild into portage! Yay, we got a sponsor
developer ;-)


> First, udev in Gentoo install several rules that ties hardware
> notifications to the init system Gentoo uses,  causing the whole
> OpenRC system being pulled in. That is easy to solve; we can use just
> a systemd USE flag, and in that case those rules should not be
> installed. Unfortunately, that means that it's not possible to boot to
> OpenRC or Systemd with the same udev installed (unless you don't care
> for some stray calls to OpenRC and a small grow in boot time and PID
> count when booting with systemd).
>
> Second, bluez has the same issue: it installs rules that call OpenRC,
> and the same solution can be used.

Yeah, I've documented that in my README... it is still an unsolved
problem on how to solve it "properly". I'm all for the introduction of
"systemd" use flag as we could force --with-systemd-unitsdir for
daemons, instead of relying on them to auto-discover it (dbus,
consolekit, ...)


> Third, NetworkManager (version 0.8) also calls OpenRC, but in this
> case it does hardcoded. In src/backends/NetworkManagerGentoo.c, it
> calls /etc/init.d/net.lo status to check if the lo interface is up. It
> would be nice to write a patch for NetworkManager with a configure
> option "--with-distro=systemd".

Or use ConnMan, as it is faster and simpler ;-)


> After that, my system (finally!) does not run any of OpenRC at all,
> and uses exclusively systemd. My PID count is about ~750, with the
> whole GNOME Desktop loaded (including nm-applet, avahi, the keyring
> daemon, pulseaudio, etc. etc.) My boot time is not that hot: it takes
> 53 seconds from grub to the whole desktop loaded (using
> AutomaticLoginEnable=true in GDM), and using readahead and rebooting 5
> times to cache up the bare desktop only improved the situation to 50
> seconds (yes, I enabled fanotify). I ran bootchart2
> (http://github.com/mmeeks/bootchart), and you can check the results
> in:
>
> http://xochitl.matem.unam.mx/~canek/bootchart.png
>
> (The PID count is higher on account of the multiple calls to
> bootchart-collector).

Well, I'm running fewer services and have it around 500, with expected
fixes in kernel/acpi it hould reduce to 400.  My system starts to
execute e17 at 17s from grub, in <1s I have my desktop usable, but
that was Core2 Duo on slow HDD. I just got a brand new laptop with i7
and SSD, installing Gentoo atm, will report improvements later.


> I have some issues: for some reason, GVFS doesn't mount remote
> partitions in $HOME/.gvfs, and systemd reports:
>
> canek at negra ~ $ dmesg | grep -i gvfs
> systemd[1]: home-canek-.gvfs.mount changed dead -> mounted
> systemd[1]: home-canek-.gvfs.mount changed mounted -> dead
> systemd[1]: home-canek-.gvfs.mount changed dead -> mounted
> systemd[1]: home-canek-.gvfs.mount changed mounted -> dead
> systemd[1]: Got SIGCHLD for process 574 (gvfs-fuse-daemo)
> systemd[1]: Collecting home-canek-.gvfs.mount
> systemd[1]: Failed to load configuration for home-canek-.gvfs.mount:
> No such file or directory
> systemd[1]: Got D-Bus request:
> org.freedesktop.DBus.Properties.GetAll() on
> /org/freedesktop/systemd1/unit/home_2dcanek_2d_2egvfs_2emount
> systemd[1]: Trying to enqueue job home-canek-.gvfs.mount/start/replace
> systemd[1]: Got SIGCHLD for process 1054 (gvfsd-sftp)
> systemd[1]: Got SIGCHLD for process 1372 (gvfsd-sftp)
>
>
> And another one; sometimes when I wake up after a suspend, the system
> goes to the BIOS screen and a normal boot, instead of bringing back
> the suspended system.
>
> Except those two problems, everything is working fine.

No idea, those do not happen to me.

-- 
Gustavo Sverzut Barbieri
http://profusion.mobi embedded systems
--------------------------------------
MSN: barbieri at gmail.com
Skype: gsbarbieri
Mobile: +55 (19) 9225-2202


More information about the systemd-devel mailing list