diff options
author | Andy Lutomirski <luto@mit.edu> | 2011-07-21 15:47:10 -0400 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2011-07-21 13:41:53 -0700 |
commit | aafade242ff24fac3aabf61c7861dfa44a3c2445 (patch) | |
tree | e28352a5883b5684466ea44f3caebe99c088eaf7 /arch/x86/vdso/vdso.S | |
parent | ae7bd11b471931752e5609094ca0a49386590524 (diff) | |
download | linux-aafade242ff24fac3aabf61c7861dfa44a3c2445.tar.bz2 |
x86-64, vdso: Do not allocate memory for the vDSO
We can map the vDSO straight from kernel data, saving a few page
allocations. As an added bonus, the deleted code contained a memory
leak.
Signed-off-by: Andy Lutomirski <luto@mit.edu>
Link: http://lkml.kernel.org/r/2c4ed5c2c2e93603790229e0c3403ae506ccc0cb.1311277573.git.luto@mit.edu
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'arch/x86/vdso/vdso.S')
-rw-r--r-- | arch/x86/vdso/vdso.S | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/arch/x86/vdso/vdso.S b/arch/x86/vdso/vdso.S index 1d3aa6b87181..1b979c12ba85 100644 --- a/arch/x86/vdso/vdso.S +++ b/arch/x86/vdso/vdso.S @@ -1,10 +1,21 @@ +#include <asm/page_types.h> +#include <linux/linkage.h> #include <linux/init.h> -__INITDATA +__PAGE_ALIGNED_DATA .globl vdso_start, vdso_end + .align PAGE_SIZE vdso_start: .incbin "arch/x86/vdso/vdso.so" vdso_end: -__FINIT +.previous + + .globl vdso_pages + .bss + .align 8 + .type vdso_pages, @object +vdso_pages: + .zero (vdso_end - vdso_start + PAGE_SIZE - 1) / PAGE_SIZE * 8 + .size vdso_pages, .-vdso_pages |