friendly-recovery slows down boot time

Bug #1459475 reported by Phillip Susi on 2015-05-28
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
friendly-recovery (Ubuntu)
Low
Martin Pitt

Bug Description

I noticed that systemd-fsck-root.service runs very late in my boot, which slows it down. This turns out to be due to friendly-recovery.service being After=udev settle, and Before=systemd-fsck-root.service. This causes fsck-root to wait until after udev settle, which takes quite some time ( which is probably another issue ), even though during normal boots, friendly-recovery is not run at all due to its Condition depending on the kernel command line recovery argument.

Is there a way to reorganize the relationships so that the transitive ordering is not triggered when friendly-recovery is not run at all?

Phillip Susi (psusi) on 2015-05-28
tags: added: systemd-boot
Martin Pitt (pitti) wrote :

Well spotted. I think we can just drop the After=systemd-udev-settle.service. I need to think about whether we actually need it (the upstart job called udev settle), but if so, we could just call that in ExecStartPre= instead of Before=.

no longer affects: systemd (Ubuntu)
Changed in friendly-recovery (Ubuntu):
status: New → Triaged
importance: Undecided → Low
assignee: nobody → Martin Pitt (pitti)
status: Triaged → In Progress
Phillip Susi (psusi) wrote :

While we're at it, do you have any idea how to trace why it takes 6 seconds for udev to settle? That seems like a long time to be fiddling around running hotplug scripts.

Phillip Susi [2015-05-28 12:48 -0000]:
> While we're at it, do you have any idea how to trace why it takes 6
> seconds for udev to settle?

That's mostly "don't shoot the messenger". Usually it's kernel drivers
taking long to initialize (check dmesg for what comes online at what
point); occasionally it's also a bug in some udev callout.

You can boot with "debug" to get events, drivers, udev rules etc.
shown in dmesg verbosely, perhaps that reveals something?

Martin
--
Martin Pitt | http://www.piware.de
Ubuntu Developer (www.ubuntu.com) | Debian Developer (www.debian.org)

Martin Pitt (pitti) on 2015-06-01
Changed in friendly-recovery (Ubuntu):
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package friendly-recovery - 0.2.31

---------------
friendly-recovery (0.2.31) wily; urgency=medium

  * debian/friendly-recovery.service: Don't put this between
    systemd-udev-settle.service and systemd-fsck-root.service, to avoid
    blocking fsck'ing the root partition on udev-settle. Only call udevadm
    settle when we are actually being run. (LP: #1459475)
  * Bump Standards-Version to 3.9.6; no changes necessary.

 -- Martin Pitt <email address hidden> Mon, 01 Jun 2015 15:45:51 +0200

Changed in friendly-recovery (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers