async: Asynchronous function calls to speed up kernel boot
authorArjan van de Ven <arjan@linux.intel.com>
Wed, 7 Jan 2009 16:45:46 +0000 (08:45 -0800)
committerArjan van de Ven <arjan@linux.intel.com>
Wed, 7 Jan 2009 16:45:46 +0000 (08:45 -0800)
commit22a9d645677feefd402befd02edd59b122289ef1
tree9f1215cc8f7f0e1c36b03882b2926cc26ccfa5ff
parentede6f5aea054d3fb67c78857f7abdee602302043
async: Asynchronous function calls to speed up kernel boot

Right now, most of the kernel boot is strictly synchronous, such that
various hardware delays are done sequentially.

In order to make the kernel boot faster, this patch introduces
infrastructure to allow doing some of the initialization steps
asynchronously, which will hide significant portions of the hardware delays
in practice.

In order to not change device order and other similar observables, this
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.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
include/linux/async.h [new file with mode: 0644]
init/do_mounts.c
init/main.c
kernel/Makefile
kernel/async.c [new file with mode: 0644]
kernel/irq/autoprobe.c
kernel/module.c