| Summary: | enhancement: remove major slow-down in starting xenstored | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Another Mortal <a.m> |
| Component: | Current packages | Assignee: | Ian Delaney (RETIRED) <idella4> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | Normal | ||
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux | ||
| See Also: | https://bugs.gentoo.org/show_bug.cgi?id=476572 | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
nice to 'hear' from you again a.m I'll look over it later today, 01 Jul 2013; Ian Delaney <idella4@gentoo.org> files/xenstored.initd, xen-tools-4.2.1-r3.ebuild, xen-tools-4.2.1-r4.ebuild, xen-tools-4.2.2-r1.ebuild: remove major slow-down in starting xenstored, put forward by 'a.m.' in Bug #475204 I'll make it a test request for now and allow for comments saying 'good here' CVS still contains the "sleep 15" og. Not any more The fix in portage has 'sleep 5' instead of 'sleep .5'; this is still _way_ too long. On my systems (with .5) I get _3_ dots max, which is still less than 2 seconds. Why force a 5 second sleep? Is this really needed? If the portability of sleeping fractional seconds is at issue, could 'sleep 1' be a good compromise? See Bug 476572 and comment This can go fixed |
There's an unconditional *15* second sleep in /etc/init.d/xenstored slowing down the boot process for no good reason. The attached patch replaces this with a periodic check/sleep cycle. On the handful of systems I tested this on xenstored was available after only a few seconds (nowhere near 15). Please consider a more flexible approach! Reproducible: Always --- /usr/portage/app-emulation/xen-tools/files/xenstored.initd 2013-05-15 11:01:03.000000000 +0200 +++ /etc/init.d/xenstored 2013-06-29 14:19:24.842794505 +0200 @@ -14,7 +14,11 @@ --pidfile /var/run/xenstored.pid \ -- --pid-file=/var/run/xenstored.pid \ $XENSTORED_OPTS - sleep 15 + until xenstore-exists / + do + echo -n . + sleep .5 + done einfo "Setting domain0 name record" /usr/bin/xenstore-write "/local/domain/0/name" "Domain-0" eend $*