You are not logged in.

#1 2007-07-03 17:36:05

RobF
Member
Registered: 2006-10-10
Posts: 157

kqemu doesn't accelerate qemu anymore under kernel 2.6.21

Up until a few days ago I still ran Arch with kernel 2.6.18-Arch #1 SMP.  Qemu 0.9.0-1 with kqemu worked like a champ on that system when testing Linux live CD ISO's; the live CD ISO's ran at almost half the native speed on the virtual machine.  At the time when I installed qemu + kqemu (April 07), the only binary kqemu module available in extra was for kernel 2.6.20.  Hence, I compiled kqemu myself from source for 2.6.18.  This kqemu module was working very well in accelerating qemu.

Then, a few days ago, I did a big 'pacman -Syu' which upgraded the kernel to 2.6.21.  Qemu is still at v.0.9.0-1 but kqemu in extra comes compiled for kernel 2.6.21.  This kqemu module doesn't work: it appears to be inserted into the kernel (e.g. I don't get the error "Could not open '/dev/kqemu'") but it doesn't provide any acceleration, i.e. there is no difference at all between running qemu with or without the command line parameter '-kernel-kqemu'.  It runs incredibly slowly, so slowly as to be useless (if it even makes it to fully booting to the Desktop; often it freezes somewhere in the boot process).  The same problem holds for a kqemu module that I compiled myself from source for kernel 2.6.21.

I'm using all the same configs that I used in the previous (functional) install, i.e.:

1. running qemu as follows:
$ qemu -cdrom /mnt/sdb2/home/robert/LinuxMint-3.0.iso -hda qemulinux.img -m 256 -boot d -kernel-kqemu

2. /etc/modprobe.conf has the line
options kqemu major=0

3. added an entry to /etc/sysctl.conf to set the system timer to 1024 Hz:
dev.rtc.max-user-freq=1024

4. or tried the same thing as #3 by running '# echo 1024 > /proc/sys/dev/rtc/max-user-freq'

One thing that seems to be different after the system upgrade is how or whether the system timer is set.  E.g. I now always get the following error when I run qemu as under #1:

Error: Could not configure '/dev/rtc' to have a 1024 Hz timer. This is not a fatal
error, but for better emulation accuracy either use a 2.6 host Linux kernel or
type 'echo 1024 > /proc/sys/dev/rtc/max-user-freq' as root.

However the latter file doesn't exist anymore, i.e. after typing the above line:

# cat /proc/sys/dev/rtc/max-user-freq
cat: /proc/sys/dev/rtc/max-user-freq: No such file or directory

How do I fix this problem of kqemu not working properly under the new kernel?

Robert

Offline

#2 2007-07-03 17:55:13

lloeki
Member
From: France
Registered: 2007-02-20
Posts: 456
Website

Re: kqemu doesn't accelerate qemu anymore under kernel 2.6.21

run qemu, press ctrl+alt+2 and type 'info kqemu' to get kqemu status


To know recursion, you must first know recursion.

Offline

#3 2007-07-03 18:50:23

retsaw
Member
From: London, UK
Registered: 2005-03-22
Posts: 132

Re: kqemu doesn't accelerate qemu anymore under kernel 2.6.21

Perhaps this is related to the tickless kernel feature that was introduced in the 2.6.21 kernel. Try adding "nohz=off" to your kernel command line and reboot.

Offline

#4 2007-07-03 19:14:18

RobF
Member
Registered: 2006-10-10
Posts: 157

Re: kqemu doesn't accelerate qemu anymore under kernel 2.6.21

lloeki wrote:

run qemu, press ctrl+alt+2 and type 'info kqemu' to get kqemu status

kqemu support: enabled for user and kernel code

Offline

#5 2007-07-03 19:38:14

RobF
Member
Registered: 2006-10-10
Posts: 157

Re: kqemu doesn't accelerate qemu anymore under kernel 2.6.21

retsaw wrote:

Perhaps this is related to the tickless kernel feature that was introduced in the 2.6.21 kernel. Try adding "nohz=off" to your kernel command line and reboot.

I tried that, i.e. by adding the line

append="nohz=off"

to the Arch entry in my LILO.  It didn't make any difference.

Offline

Board footer

Powered by FluxBB