Re: [patch] paravirt: VDSO page is essential

From: Avi Kivity
Date: Mon Mar 05 2007 - 07:39:01 EST


Ingo Molnar wrote:
Subject: [patch] paravirt: VDSO page is essential
From: Ingo Molnar <mingo@xxxxxxx>

commit 3bbf54725467d604698721384d858b5983b87e8f disables the VDSO for CONFIG_PARAVIRT kernels. This #ifdeffery was a bad change: the VDSO is an essential component of Linux, and this change forces all of them to use int $0x80 - including sane ones like KVM. (If a hypervisor does not handle the VDSO properly then it can work things around via the vdso=0 boot option. Or CONFIG_PARAVIRT should not have been merged. But in any case, it is a basic taste issue: we DO NOT #ifdef around core features like this!)

Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
---
arch/i386/kernel/sysenter.c | 4 ----
1 file changed, 4 deletions(-)

Index: linux/arch/i386/kernel/sysenter.c
===================================================================
--- linux.orig/arch/i386/kernel/sysenter.c
+++ linux/arch/i386/kernel/sysenter.c
@@ -27,11 +27,7 @@
* Should the kernel map a VDSO page into processes and pass its
* address down to glibc upon exec()?
*/
-#ifdef CONFIG_PARAVIRT
-unsigned int __read_mostly vdso_enabled = 0;
-#else
unsigned int __read_mostly vdso_enabled = 1;
-#endif
EXPORT_SYMBOL_GPL(vdso_enabled);

Can't paravirt patch the syscall instruction like it does the rest of the kernel?

[is someone keeping track of the number of patchsites? e.g. at what date will the entire kernel be generated at boot time?]


--
error compiling committee.c: too many arguments to function

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/