Difference between revisions of "Kernel configuration"

From OpenVZ Virtuozzo Containers Wiki
Jump to: navigation, search
m (OpenVZ related kernel config options)
(spelling, grammar)
Line 42: Line 42:
 
On non-SMP machine, you may disable <code>SMP</code>, this will resolve the conflict.
 
On non-SMP machine, you may disable <code>SMP</code>, this will resolve the conflict.
  
If you have SMP machine, you can only disable <code>FAIRSCHED</code> and <code>SCHED_VCPU</code>. This will loose some isolation between VEs (CPU scheduling will be performed per-task, not per-VE, and <code>cpuunits</code> and <code>cpulimit</code> settings will not take effect), but it is acceptable solution if your VEs are trusted (and it's hard to imagine untrusted VEs on a notebook ;)
+
If you have SMP machine, you can only disable <code>FAIRSCHED</code> and <code>SCHED_VCPU</code>. It will reduce some isolation between VEs (CPU scheduling will be performed per-task, not per-VE, and <code>cpuunits</code> and <code>cpulimit</code> settings will not take effect), but it is an acceptable solution if your VEs are trusted (and it's hard to imagine untrusted VEs on a notebook.)
  
 
[[Category:Kernel]]
 
[[Category:Kernel]]
 
[[Category:HOWTO]]
 
[[Category:HOWTO]]

Revision as of 07:37, 10 July 2007

This article summarises various kernel configuration issues.

OpenVZ related kernel config options

Please make sure the following config options are enabled in your kernel .config file before compilation process:

CONFIG_SCHED_VCPU=y
CONFIG_FAIRSCHED=y
CONFIG_SIM_FS=m
CONFIG_VZ_QUOTA=m
# CONFIG_VZ_QUOTA_UNLOAD is not set
CONFIG_VZ_QUOTA_UGID=y
CONFIG_VE=y
CONFIG_VE_CALLS=m
CONFIG_VZ_GENCALLS=y
CONFIG_VE_NETDEV=m
CONFIG_VE_ETHDEV=m
CONFIG_VZ_DEV=m
CONFIG_VE_IPTABLES=y
CONFIG_VZ_WDOG=m
CONFIG_VZ_CHECKPOINT=m
Yellowpin.svg Note: On architectures that do not currently support checkpointing (i.e. ppc and sparc) CONFIG_VZ_CHECKPOINT should be set to n

ACPI sleep

It is a bit tricky to make ACPI sleep and OpenVZ work together.

ACPI sleep is enabled by ACPI_SLEEP kernel option. The following dependencies are declared in kernel configs:

ACPI_SLEEP depends on X86 && (!SMP || SUSPEND_SMP)
SUSPEND_SMP depends on HOTPLUG_CPU && X86 && PM
FAIRSCHED depends on SCHED_VCPU

And SCHED_VCPU is incompatible with HOTPLUG_CPU:

./kernel/cpu.c:#error "CONFIG_HOTPLUG_CPU isn't supported with CONFIG_SCHED_VCPU"

On non-SMP machine, you may disable SMP, this will resolve the conflict.

If you have SMP machine, you can only disable FAIRSCHED and SCHED_VCPU. It will reduce some isolation between VEs (CPU scheduling will be performed per-task, not per-VE, and cpuunits and cpulimit settings will not take effect), but it is an acceptable solution if your VEs are trusted (and it's hard to imagine untrusted VEs on a notebook.)