VMware Cloud Community
john123456
Contributor
Contributor

Kernel clock EL4 / CentOS4

Hello everyone,

EL4 / CentOS4 kernels are using a kernel clock of 1000 Hz. This is good for desktop use, but bad in Esx. Symtoms are missed interupts, system clock running to slow and higher CPU load on ESX than in the VM. The CentOS community and also I has build a custom kernel with a reduced kernel clock of 100 hz. This kernel clock problem is discussed on serveral locations on the internet.

But when using a custom kernel ( The CentOS version or my own version) the vmware-config-tools.pl script failed to unload the pcnet32 module and hangs until rebooted (reset). It doesn't matter if the VMware modules are compiled on the fly, or that a binary module is used by invoking vmware-config-tools.pl -t. This problem does not happen with default kernels.

Disabling ipv6 completely as suggested on serveral post and forums to workaround the pcnet32 module removal problem did not provide the solution.

This problem does not exist in EL5, because later EL5 kernels support the bootloader option divider=10, to reduce the kernel clock.

Does anyone know how to workaround the pcnet32 unload problem when running a custom EL4 /CentOS kernel?

Version info:

Esx 3.5 update1

CentOS4.6 VM (2.6.9.-67.0.15.EL and 2.6.9-67.0.20.EL single and smtp kernels)

John

0 Kudos
2 Replies
wila
Immortal
Immortal

Hi,

You probably found it already, but have you seen the knowledge base article on the topic?

Clock in a Linux Guest Runs More Slowly or Quickly Than Real Time

The pcnet removal sounds like it has more to do with vmware-tools as anything else. Haven't seen that one myself anymore recently

Have you upgraded to a current vmware-tools? Is your ESX host completely up-to-date? Was the vmware-config script able to load binary drivers and/or successfully compile the vmxnet kernel module?

You should be able to change over to a vmxnet interface which is the recommended interface anyways.

Here's how you would do so on debian.

 sudo /etc/init.d/networking stop 
 sudo rmmod pcnet32 
 sudo rmmod vmxnet
 sudo depmod -a
 sudo modprobe vmxnet
 sudo /etc/init.d/networking start

It will be pretty much the same syntax on RHEL, but you might want to use the

su -c "command"

syntax instead of the sudo one, depending on your setup.

--

Wil

| Author of Vimalin. The virtual machine Backup app for VMware Fusion, VMware Workstation and Player |
| More info at vimalin.com | Twitter @wilva
0 Kudos
john123456
Contributor
Contributor

Hi Wila and everyone else,

Yes, I did find similar topics

The ESX host and Vmware tools are at level 3.5 update 1

The VMware-config-script was able to successfully compile the vmxnet kernel module and was able to load binary modules EL4 module when forced to try every module (-t)

-->

sudo /etc/init.d/networking stop sudo rmmod pcnet32

-->

Here it already goes wrong. the pcnet32 won't unload with a custom kernel (CentOS VM kernel and own brew). The only thing changed to the kernel, is a patched clock value of 100hz. With the default stock (also errata, update) kernels it works flawlessly.

I even tried to fool the system by renaming the pcnet32.ko module and reboot. After that the VMware-config-tools.pl script runs successfully, but now at reboot the vmx driver won't unload anymore, (when VMware-tools stop is ran). Result is that I have to reset the VM to reboot...

John

0 Kudos