Re: [patch] paravirt: VDSO page is essential

From: Zachary Amsden
Date: Mon Mar 05 2007 - 15:11:56 EST


Andi Kleen wrote:
But this still means I would need to decide between a PARAVIRT
kernel that either supports xen/VMI or cannot boot old user land without
weird options. I don't think that's the correct solution. The goal
is a single binary that runs everywhere and is still compatible.

Rusty's patch looks a step in the right direction to me. I can't comment on Ingo's patch as he failed to -cc me on it, despite the fact that we are the only ones affected by it. We are not concerned so much with supporting legacy user land deployments, as we expect for the most part, the install scenario to happen when upgrading to new distros.

What would probably work is to somehow decide at runtime if a hypervisor
is there or not and then set vdso default based on that. I guess that
detection would be hypervisor specific though and probably would
need paravirt ops extensions.

What we really need to do is to be able to detect an old user land and drop VDSO support when that is found. But since we can't do that, the next best thing is to allow the hypervisor to choose whatever workaround it wants when it moves the fixmap and compat_vdso was enabled. In our case, the workaround we will want is a boot option to disable VDSO for old user land, and a printk warning if you take #GPs and kill the init proc, because for us, this is not an expected support scenario. We would much rather support the VDSO by default in paravirt kernels even with COMPAT_VDSO turned on.

Zach
-
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/