1
0
Fork 0
alistair23-linux/arch/x86/boot/compressed
Zhao Yakui 68f4d5a00a x86, setup: Use string copy operation to optimze copy in kernel compression
The kernel decompression code parses the ELF header and then copies
the segment to the corresponding destination.  Currently it uses slow
byte-copy code.  This patch makes it use the string copy operations
instead.

In the test the copy performance can be improved very significantly after using
the string copy operation mechanism.
        1. The copy time can be reduced from 150ms to 20ms on one Atom machine
	2. The copy time can be reduced about 80% on another machine
		The time is reduced from 7ms to 1.5ms when using 32-bit kernel.
		The time is reduced from 10ms to 2ms when using 64-bit kernel.

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
LKML-Reference: <1286502453-7043-1-git-send-email-yakui.zhao@intel.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2010-10-07 21:23:09 -07:00
..
.gitignore x86, boot: add new generated files to the appropriate .gitignore files 2009-06-02 21:13:30 -07:00
Makefile x86, setup: enable early console output from the decompressor 2010-08-02 20:32:20 -07:00
cmdline.c x86, setup: enable early console output from the decompressor 2010-08-02 20:32:20 -07:00
early_serial_console.c x86, setup: enable early console output from the decompressor 2010-08-02 20:32:20 -07:00
head_32.S x86, setup: Allow global variables and functions in the decompressor 2010-08-02 15:34:44 -07:00
head_64.S x86, setup: Allow global variables and functions in the decompressor 2010-08-02 15:34:44 -07:00
misc.c x86, setup: Use string copy operation to optimze copy in kernel compression 2010-10-07 21:23:09 -07:00
misc.h x86, setup: move isdigit.h to ctype.h, header files on top. 2010-08-02 21:07:20 -07:00
mkpiggy.c Rename .rodata.compressed to .rodata..compressed. 2010-03-03 11:26:00 +01:00
relocs.c Revert "endian: #define __BYTE_ORDER" 2010-05-26 08:30:15 -07:00
string.c x86, setup: move isdigit.h to ctype.h, header files on top. 2010-08-02 21:07:20 -07:00
vmlinux.lds.S x86, setup: Allow global variables and functions in the decompressor 2010-08-02 15:34:44 -07:00