svn commit: r186252 - head/sys/kern

Andrew Thompson thompsa at FreeBSD.org
Wed Dec 17 19:59:50 UTC 2008


On Wed, Dec 17, 2008 at 07:57:12PM +0000, Ivan Voras wrote:
> Author: ivoras
> Date: Wed Dec 17 19:57:12 2008
> New Revision: 186252
> URL: http://svn.freebsd.org/changeset/base/186252
> 
> Log:
>   Introduce a sysctl kern.vm_guest that reflects what the kernel knows about
>   it running under a virtual environment. This also introduces a globally
>   accessible variable vm_guest that can be used where appropriate in the
>   kernel to inspect this environment.
>   
>   To make it easier for the long run, an enum VM_GUEST is also introduced,
>   which could possibly be factored out in a header somewhere (but the
>   question is where - vm/vm_param.h? sys/param.h?) so it eventually becomes
>   a part of the standard KPI. In any case, it's a start.
>   
>   The purpose of all this isn't to absolutely detect that the OS is running
>   under a virtual environment (cf. "redpill") but to allow the parts of the
>   kernel and the userland that care about this particular aspect and can do
>   something useful depending on it to have a standardised interface. Reducing
>   kern.hz is one example but there are other things that could be done like
>   avoiding context switches, not using CPU instructions that are known to be
>   slow in emulation, possibly different strategies in VM (memory) allocation,
>   CPU scheduling, etc.
>   
>   It isn't clear if the JAILS/VIMAGE functionality should also be exposed
>   by this particular mechanism (probably not since they're not "full"
>   virtual hardware environments). Sometime in the future another sysctl and
>   a variable could be introduced to reflect if the kernel supports any kind
>   of virtual hosting (e.g. VMWare VMI, Xen dom0).
>   
>   Reviewed by:	silence from src-commiters@, virtualization@, kmacy@
>   Approved by:	gnn (mentor)
>   Security:	Obscurity doesn't help.
> 
> Modified:
>   head/sys/kern/subr_param.c

Sorry for chiming in late but should the sysctl be a string? 1,2,3 arent
all that useful.


Andrew


More information about the svn-src-head mailing list