Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

live-config is too slow. Needs re-factoring! #220

Closed
kaihendry opened this issue Jul 16, 2015 · 5 comments
Closed

live-config is too slow. Needs re-factoring! #220

kaihendry opened this issue Jul 16, 2015 · 5 comments
Assignees

Comments

@kaihendry
Copy link
Member

@kaihendry kaihendry commented Jul 16, 2015

     20.189s live-config.service
     10.424s networking.service
      5.036s keyboard-setup.service
      4.768s console-setup.service
      1.266s kbd.service
       834ms systemd-modules-load.service
       827ms eGTouchD.service
       629ms systemd-udev-trigger.service
       618ms debian-fixup.service
       419ms console-kit-log-system-start.service
       415ms systemd-tmpfiles-setup-dev.service
       410ms systemd-logind.service
       376ms plymouth-start.service
       342ms dev-hugepages.mount
       340ms dev-mqueue.mount
       331ms systemd-journal-flush.service
       326ms systemd-tmpfiles-setup.service
       306ms sys-kernel-debug.mount
       301ms plymouth-quit-wait.service
       298ms plymouth-quit.service
       284ms plymouth-read-write.service
       277ms systemd-random-seed.service
       271ms systemd-backlight@backlight:acpi_video0.service
       260ms systemd-backlight@backlight:psb-bl.service
       234ms systemd-setup-dgram-qlen.service
       234ms systemd-update-utmp-runlevel.service
       232ms kmod-static-nodes.service
       199ms systemd-user-sessions.service
       192ms systemd-update-utmp.service
       138ms udev-finish.service
       127ms systemd-sysctl.service
       115ms sys-fs-fuse-connections.mount
       102ms rsyslog.service
        88ms systemd-remount-fs.service
        81ms systemd-udevd.service

This is what I pulled out with journalctl -u live-config -b http://ix.io/jL7

@kaihendry
Copy link
Member Author

@kaihendry kaihendry commented Sep 7, 2015

Tbh, I'm thinking it's taking the most time with the git mount.
http://ix.io/iHR

For example looking at http://ix.io/iIk

Somewhere between here:

Sep 07 03:48:13 webconverger live-config[275]: Fixing webc home
Sep 07 03:48:20 webconverger live-config[275]: + [ true = true ]

We lost seven seconds!!

However looking at the next wastes of time...

Sep 07 03:48:20 webconverger live-config[275]: + echo [2015-09-07 03:48:20] live-config: /lib/live/config/0010-debconf

to

Sep 07 03:48:26 webconverger live-config[275]: + /lib/live/config/9990-hooks

We lost 6 seconds. These seem to be skipping over /lib/live/config/ elements we don't use.

@kaihendry
Copy link
Member Author

@kaihendry kaihendry commented Sep 7, 2015

I've since discovered that components=gitfs or live-config.components=gitfs is all we need.

However I don't like the idea of appending yet another command to https://github.com/Webconverger/webc/blob/master/etc/webc/boot-cmdline

(In future) can we do away with:

  • boot=live
  • skipconfig
@matthijskooijman
Copy link
Member

@matthijskooijman matthijskooijman commented Sep 7, 2015

What does components=gitfs do? Never seen that before?

If you remove boot=live, I think the live-part of the initrd will not run, which is responsible for mounting git-fs and the overlay filesystem?

@kaihendry
Copy link
Member Author

@kaihendry kaihendry commented Sep 7, 2015

components=gitfs just runs https://github.com/Webconverger/webc/blob/master/lib/live/config/0005-gitfs

Nevermind my boot=live comment for now. Not sure why that can't be built into the initrd or something.

@kaihendry kaihendry closed this in 3404e37 Sep 7, 2015
@kaihendry
Copy link
Member Author

@kaihendry kaihendry commented Sep 7, 2015

Fixed blame looks like: http://ix.io/kEP 😀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.