View Issue Details

IDProjectCategoryView StatusLast Update
0001680CentOS-4kernelpublic2007-11-05 14:10
Reporterultradodge Assigned To 
PrioritynormalSeverityfeatureReproducibilityN/A
Status closedResolutionfixed 
Product Version4.4 
Summary0001680: Provide kernel with low interrupt timer for use in VMware
DescriptionCentOS 4 running in a VMware Server guest are observed to use inordinate amounts of CPU on the Host, even when the guest OS is completely idle.

On my host at the moment, this varies from 15-60% depending on the speed of the host, the architecture used (x86_64 guests are worse) and the number of CPUs in the guest VM (virtual SMP exacerbates the issue). A typical average result is a constant 23% of a CPU core in system time for each CentOS 4 guest VM.
I have a 4 core Xeon Pro system with 6 guest VMs that was effectively running at 100% utilisation when there was only one guest VM doing anything but idling.

http://www.vmware.com/community/message.jspa?messageID=510526 and the related discussion threads indicate that this is an idle timer issue. Since the guest OS is not halting the virtual CPU, this will probably affect other virtualisation technologies as well (e.g. Virtual PC).

In particular it is claimed that the HZ=1000 config used in the CentOS kernel causes the issue.
In comparison, OpenSuse 10.1 guests do not appear to exhibit this high idle CPU usage, and are configured with HZ=250.

http://vmware.xaox.net/centos/4/ is a private Yum repository provided by the author of the above post, which has rebuilt CentOS kernels with HZ=100.

I've tested these on various x86_64 hosts (older Xeons and newer Xeon pros) running single and dual CPU guest VMs with x86 and x86_64 CentOS 4.4, and in all cases the CPU usage on the host has dropped significantly - below 7% per guest VM for all combinations.

We make heavy use of CentOS in our internal infrastructure (some 30+ VMs), and would appreciate if a VMware friendly kernel was available from CentOS, rather than relying on a parallel repository which could fall into disuse or get behind the main CentOS release stream.

Perhaps a kernel-vm series of kernels in centosplus could be created?

I'm not a kernel expert, so I'm not sure if there are any undesirable side-effects of dropping the interrupt timer like this.
TagsNo tags attached.

Relationships

has duplicate 0002189 closedkbsingh@karan.org CentOS-5 CentOS is not getting optimal performance in a virtualized environment and on slow cpus 

Activities

kbsingh@karan.org

kbsingh@karan.org

2007-02-16 14:19

reporter   ~0004447

The packages mentioned in that url are really done badly.

We can look at providing something in a more distro friendly manner in the CentOSPlus repo, as long as hughesjr agree's with it and its something that is going to benefit a large userbase.

( btw, good bug report, I wish more people would take the time and make the effort of putting together a bug report that actually makes sense and has the relevant urls included. )
ultradodge

ultradodge

2007-02-26 01:08

reporter   ~0004477

I'm not an expert in this area, but it appears that dynticks (http://kerneltrap.org/node/7749, http://kerneltrap.org/node/7568) might render this unnecessary.

If a 2.6.21+ kernel is planned for CentOS 4.5 (or 5), and it fixes the VMware issues, then that might be a better option.
241comp

241comp

2007-04-19 10:54

reporter   ~0004836

You said this could be done if it would benefit a large userbase. I just wanted to chime in and indicate that there are others who would appreciate this (myself included). Thanks.
danieldk

danieldk

2007-11-05 14:10

reporter   ~0006241

Please, continue discussion in #2189.

Issue History

Date Modified Username Field Change
2007-02-16 10:50 ultradodge New Issue
2007-02-16 10:50 ultradodge Status new => assigned
2007-02-16 14:19 kbsingh@karan.org Note Added: 0004447
2007-02-16 14:19 kbsingh@karan.org Status assigned => acknowledged
2007-02-26 01:08 ultradodge Note Added: 0004477
2007-04-19 10:54 241comp Note Added: 0004836
2007-11-05 14:09 danieldk Relationship added has duplicate 0002189
2007-11-05 14:10 danieldk Status acknowledged => closed
2007-11-05 14:10 danieldk Note Added: 0006241
2007-11-05 14:10 danieldk Resolution open => fixed