You are not logged in.
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
run qemu, press ctrl+alt+2 and type 'info kqemu' to get kqemu status
To know recursion, you must first know recursion.
Offline
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
run qemu, press ctrl+alt+2 and type 'info kqemu' to get kqemu status
kqemu support: enabled for user and kernel code
Offline
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