Cc: Linus Torvalds <torvalds@...>, Arjan van de Ven <arjan@...>, Rene Herman <rene.herman@...>, Bjorn Helgaas <bjorn.helgaas@...>, Jesse Barnes <jbarnes@...>, Len Brown <lenb@...>, Frans Pop <elendil@...>, Rafael J. Wysocki <rjw@...>, Linux Kernel Mailing List <linux-kernel@...>, <linux-pci@...>, <linux-acpi@...>, Adam Belay <abelay@...>, Avuton Olrich <avuton@...>, Karl Bellve <karl.bellve@...>, Willem Riede <wriede@...>, Matthew Hall <mhall@...>, Sam Ravnborg <sam@...>
yes, we could indeed map it statically to a single-threaded bootup
sequence at build time. That is more reproducible, more deterministic,
etc.
[ What i was thinking about the most generic long-run approach: each CPU
processing initcalls in parallel. Then the initcall graph is processed
in parallel and the ordering and speed of execution (and the grade of
completion) depends on the number of CPUs, their speed and other
factors, etc.
But it would be madness to combine such a facility with the current
fragile single-threaded boot code. ]
Ingo
--