Asynchronous function calls

From eLinux.org
Revision as of 02:23, 20 January 2009 by Greywolf82 (talk | contribs) (Asynchronous function calls now in mainline)
Jump to: navigation, search

In order to make the kernel boot faster, a set of patches was introduced by Arjan van de Ven in January 2009 to create infrastructure to allow doing some of the initialization steps asynchronously. The patches allow overlapping significant portions of the hardware delays in practice. Asynchronous function calls has been merged in mainline starting from 2.6.29. This code is still a work in progress, though, and, for 2.6.29, it will not be activated in the absence of the fastboot command-line parameter.

In order to not change device order and other similar observables, the patch does NOT do full parallel initialization.

Rather, it operates more in the way an out of order CPU does; the work may be done out of order and asynchronous, but the observable effects (instruction retiring for the CPU) are still done in the original sequence.

References

See http://lkml.org/lkml/2009/1/4/155 for the first patch in the series.

Work similar in spirit to this was done previously, but with smaller scope and apparently not mainlined.

See Threaded Device Probing