From: eLinux.org
DMA Copy Of Kernel On Startup
Contents
- 1 Description
- 2 Rationale
- 3 Resources
- 4 Specifications
- 5 Downloads
- 6 How To Use
- 7 Sample Results
- 8 Status
- 9 Future Work/Action Items
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.
Figure 1: Comparison of normal and fast boot
Hardware
initialization consumes about 200 milliseconds before firmware init.
And here is the table which shows the actual performance number.
- | 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