Re: [patch] paravirt: VDSO page is essential

Avi Kivity
2007-03-05T12:38:44Z

Ingo Molnar wrote:
> Subject: [patch] paravirt: VDSO page is essential
> From: Ingo Molnar <mingo@elte.hu>
>
> 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@elte.hu>
> ---
> 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