1
linux/arch/x86/boot
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
..
compressed x86, setup: Use string copy operation to optimze copy in kernel compression 2010-10-07 21:23:09 -07:00
tools x86: remove zImage support 2009-03-11 11:00:00 -07:00
.gitignore x86, boot: add new generated files to the appropriate .gitignore files 2009-06-02 21:13:30 -07:00
a20.c x86, setup: "glove box" BIOS interrupts in the core boot code 2009-04-09 16:08:11 -07:00
apm.c x86, setup: "glove box" BIOS interrupts in the APM code 2009-04-09 16:08:11 -07:00
bioscall.S x86, boot: use .code16gcc instead of .code16 2009-06-16 17:47:32 -07:00
bitops.h
boot.h x86, setup: move isdigit.h to ctype.h, header files on top. 2010-08-02 21:07:20 -07:00
cmdline.c x86, setup: reorganize the early console setup 2010-08-02 15:51:56 -07:00
code16gcc.h
copy.S x86: copy.S - use GLOBAL,ENDPROC macros 2009-02-19 17:13:00 +01:00
cpu.c
cpucheck.c
ctype.h x86, setup: move isdigit.h to ctype.h, header files on top. 2010-08-02 21:07:20 -07:00
early_serial_console.c x86, setup: Fix earlyprintk=serial,0x3f8,115200 2010-09-21 10:18:33 -07:00
edd.c x86, setup: "glove box" BIOS interrupts in the EDD code 2009-04-09 16:08:11 -07:00
header.S kbuild: move utsrelease.h to include/generated 2009-12-12 13:08:15 +01:00
install.sh kbuild: use INSTALLKERNEL to select customized installkernel script 2009-09-20 12:18:14 +02:00
main.c x86, setup: enable early console output from the decompressor 2010-08-02 20:32:20 -07:00
Makefile x86, setup: reorganize the early console setup 2010-08-02 15:51:56 -07:00
mca.c x86, setup: "glove box" BIOS interrupts in the MCA code 2009-04-09 16:08:11 -07:00
memory.c Merge branch 'x86/urgent' into x86/setup 2009-05-23 16:42:19 -07:00
mkcpustr.c x86: Remove trailing spaces in messages 2010-02-07 17:47:51 +01:00
mtools.conf.in
pm.c x86: remove zImage support 2009-03-11 11:00:00 -07:00
pmjump.S x86, setup: move 32-bit code to .text32 2009-03-17 15:26:06 -07:00
printf.c x86, setup: reorganize the early console setup 2010-08-02 15:51:56 -07:00
regs.c x86, setup: "glove box" BIOS calls -- infrastructure 2009-04-09 16:08:11 -07:00
setup.ld x86: Document linker script ASSERT() quirk 2009-10-16 07:18:46 +02:00
string.c x86, setup: Make the setup code also accept console=uart8250 2010-07-13 14:08:12 -07:00
tty.c x86, setup: reorganize the early console setup 2010-08-02 15:51:56 -07:00
version.c kbuild: move utsrelease.h to include/generated 2009-12-12 13:08:15 +01:00
vesa.h
video-bios.c x86: fix usage of bios intcall() 2009-07-04 12:56:32 -07:00
video-mode.c
video-vesa.c Merge branch 'x86-setup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-09-14 08:01:47 -07:00
video-vga.c x86, setup: Set ax register in boot vga query 2010-06-10 15:24:29 -07:00
video.c x86, setup: When restoring the screen, update boot_params.screen_info 2010-02-17 18:32:06 -08:00
video.h x86, setup: remove obsolete pre-Kconfig CONFIG_VIDEO_ variables 2009-06-26 11:02:31 -07:00