DMA Copy Of Kernel On Startup

From eLinux.org
Jump to: navigation, search

Description

This section describes the technology of DMA copy of kernel on startup. It's necessary to copy binary images, such as a kernel image, file system images, and so on, from ROM to RAM on bootup if XIP isn't used. In this case, using DMA transfer is very efficient to save the time and CPU resources.

Rationale

This feature is important to CELF because it reduces bootup time significantly.

Resources

Projects

None.

Specifications

None.

Downloads

Patch

Sorry but there is no available patch at this time.

Utility programs

None

How To Use

Sample Results

Case Study 1

Jyunji Kondo (of Fujitsu Prime Software Technologies) measured the result of using DMA kernel copy on FR-V processor.

Hardware Fujitsu FR-V Design Kit for FR450 core
Kernel Version 2.6.6
Configuration - DMA kernel copy enabled/disabled
- Preset LPJ enabled/disabled
- Avoiding printk messages enabled/disabled

Here is the graphic chart which illustrates the elapse time of each startup stage.

Normal Vs Fast Boot.png

Figure 1: Comparison of normal and fast boot

Alert.gif Hardware initialization consumes about 200 milliseconds before firmware init.

And here is the table which shows the actual performance number.


Table 1: Elapse time of each stage (in milliseconds)
- firm init kernel init user init user splash total
normal boot 229 660 290 112 1,291
fast boot 49 88 287 113 537

In the normal boot case, the kernel image whose size is 1.7MB around is copied from ROM to RAM by CPU at firmware init. On the other hand, DMA copy is used in the fast boot case and it reduces about 180 milliseconds.

It owes much to the potentiality of FR-V processor, but it's worthy of consideration to use such a hardware assist feature for reducing bootup time.

Case Study 2

Status

Status - measured
not started, researched, implemented, measured, documented, accepted
  • Architecture Support:

(for each arch, one of: unknown, patches apply, compiles, runs, works, accepted)

    • i386: unknown
    • ARM: unknown
    • PPC: unknown
    • MIPS: unknown
    • SH: unknown
    • FR-V: works

Future Work/Action Items