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