* kvm very slow
@ 2007-08-01 5:22 Ulrich Schreiner
2007-08-01 16:41 ` Avi Kivity
2007-08-09 23:23 ` Matthew Kent
0 siblings, 2 replies; 23+ messages in thread
From: Ulrich Schreiner @ 2007-08-01 5:22 UTC (permalink / raw)
To: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
hi,
im using a 64 bit fedora7 system with a quad-core processor to host
multiple virtual machines.
my current kernel is:
Linux testserver 2.6.22.1-27.fc7 #1 SMP Tue Jul 17 17:19:58 EDT 2007
x86_64 x86_64 x86_64 GNU/Linux
(now there is a 2.6.22.1-33.fc7 to download, but i think it is not the
point here).
i installed
kvm.x86_64: 31-1.fc8
because of a crash i reported as a bug with the older kvm module.
this system starts a F7 image with the following command:
/usr/bin/qemu-kvm
-net nic,macadr=52.54.00.12.34.57
-net tap,script=./ifup.py,ifname=tap0
-hda /var/qemu/vm_images/F7image.img
-boot c: -m 512 -vnc :2 -k de
inside the image there is fedora 7, but a 32bit system.
almost everything works (reboot hangs), but the system is extremely
slow! the clock inside the system is extremely slow: every *virtual*
second in the image is about two or more seconds in the *real* world.
the "clocksource=pit" argument does not help.
but it is not only the clock ... the whole system is really slow!
on the other side i have an notebook with an old core2 processor which
cannot run KVM, so i run qemu/kqemu. if i start the image on this host,
i have much better performance. inside the image there is an apache,
subversion and a trac; all three systems are really fast on the notebook
compared to the quadcore 64bit host!
when starting qemu without kqemu i get a warning on console an poor
performance. when starting "qemu-kvm" i get no warning, but the same
poor performance. how can i check if the kvm-modules are really loaded?
any other ideas what i can do?
thanks
</usc>
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: kvm very slow
2007-08-01 5:22 kvm very slow Ulrich Schreiner
@ 2007-08-01 16:41 ` Avi Kivity
[not found] ` <46B0B7D0.9080203-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-08-09 23:23 ` Matthew Kent
1 sibling, 1 reply; 23+ messages in thread
From: Avi Kivity @ 2007-08-01 16:41 UTC (permalink / raw)
To: Ulrich Schreiner; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
Ulrich Schreiner wrote:
> hi,
>
> im using a 64 bit fedora7 system with a quad-core processor to host
> multiple virtual machines.
>
> my current kernel is:
>
> Linux testserver 2.6.22.1-27.fc7 #1 SMP Tue Jul 17 17:19:58 EDT 2007
> x86_64 x86_64 x86_64 GNU/Linux
>
> (now there is a 2.6.22.1-33.fc7 to download, but i think it is not the
> point here).
>
> i installed
>
> kvm.x86_64: 31-1.fc8
>
> because of a crash i reported as a bug with the older kvm module.
>
> this system starts a F7 image with the following command:
>
> /usr/bin/qemu-kvm
> -net nic,macadr=52.54.00.12.34.57
> -net tap,script=./ifup.py,ifname=tap0
> -hda /var/qemu/vm_images/F7image.img
> -boot c: -m 512 -vnc :2 -k de
>
> inside the image there is fedora 7, but a 32bit system.
>
> almost everything works (reboot hangs), but the system is extremely
> slow! the clock inside the system is extremely slow: every *virtual*
> second in the image is about two or more seconds in the *real* world.
>
Is there anything in dmesg? What does 'top' report? What does kvm_stat
show?
--
error compiling committee.c: too many arguments to function
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: kvm very slow
[not found] ` <46B0B7D0.9080203-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
@ 2007-08-01 19:45 ` Ulrich Schreiner
[not found] ` <46B0E2F0.1070701-sZDnKEZIvs8b1SvskN2V4Q@public.gmane.org>
0 siblings, 1 reply; 23+ messages in thread
From: Ulrich Schreiner @ 2007-08-01 19:45 UTC (permalink / raw)
Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
dmesg|grep kvm
SELinux: initialized (dev kvmfs, type kvmfs), uses genfs_contexts
kvm: emulating exchange as write
now booting into a F7 image, after the system is ready (and in idle):
top
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
14917 root 20 0 332m 71m 66m S 6 0.9 1:17.05 qemu-kvm
14954 root 20 0 14552 1072 812 R 0 0.0 0:00.01 top
1 root 20 0 10320 680 572 S 0 0.0 0:02.02 init
kvm_stat (snapshot):
kvm statistics
exits 12254399 79079
halt_exits 326543 4632
invlpg 0 0
io_exits 6539798 74320
irq_exits 43523 29
irq_window 4984 0
mmio_exits 1319016 0
pf_fixed 3140955 56
pf_guest 448187 6
request_irq 0 0
signal_exit 39728 0
tlb_flush 29511 31
when logging into the virtual machine (via ssh) the virtual world is
very slow: i set the time with "ntpdate" and wait exact one minute in
reality. in the virtual image only 24sec are gone!
and everything else in the image is really slow.
Avi Kivity schrieb:
> Ulrich Schreiner wrote:
>> hi,
>>
>> im using a 64 bit fedora7 system with a quad-core processor to host
>> multiple virtual machines.
>>
>> my current kernel is:
>>
>> Linux testserver 2.6.22.1-27.fc7 #1 SMP Tue Jul 17 17:19:58 EDT 2007
>> x86_64 x86_64 x86_64 GNU/Linux
>>
>> (now there is a 2.6.22.1-33.fc7 to download, but i think it is not the
>> point here).
>>
>> i installed
>>
>> kvm.x86_64: 31-1.fc8
>>
>> because of a crash i reported as a bug with the older kvm module.
>>
>> this system starts a F7 image with the following command:
>>
>> /usr/bin/qemu-kvm -net nic,macadr=52.54.00.12.34.57 -net
>> tap,script=./ifup.py,ifname=tap0
>> -hda /var/qemu/vm_images/F7image.img -boot c: -m 512 -vnc :2 -k de
>>
>> inside the image there is fedora 7, but a 32bit system.
>>
>> almost everything works (reboot hangs), but the system is extremely
>> slow! the clock inside the system is extremely slow: every *virtual*
>> second in the image is about two or more seconds in the *real* world.
>>
>
> Is there anything in dmesg? What does 'top' report? What does kvm_stat
> show?
>
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: kvm very slow
[not found] ` <46B0E2F0.1070701-sZDnKEZIvs8b1SvskN2V4Q@public.gmane.org>
@ 2007-08-02 8:24 ` Avi Kivity
[not found] ` <46B194C5.5040508-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
0 siblings, 1 reply; 23+ messages in thread
From: Avi Kivity @ 2007-08-02 8:24 UTC (permalink / raw)
To: Ulrich Schreiner; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
Ulrich Schreiner wrote:
> dmesg|grep kvm
>
> SELinux: initialized (dev kvmfs, type kvmfs), uses genfs_contexts
> kvm: emulating exchange as write
>
>
There may be messages that aren't prefixed with 'kvm:' (that's a bug
btw). Please check.
> now booting into a F7 image, after the system is ready (and in idle):
>
> top
> PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
> 14917 root 20 0 332m 71m 66m S 6 0.9 1:17.05 qemu-kvm
> 14954 root 20 0 14552 1072 812 R 0 0.0 0:00.01 top
> 1 root 20 0 10320 680 572 S 0 0.0 0:02.02 init
>
> kvm_stat (snapshot):
>
> kvm statistics
>
> exits 12254399 79079
> halt_exits 326543 4632
> invlpg 0 0
> io_exits 6539798 74320
> irq_exits 43523 29
> irq_window 4984 0
> mmio_exits 1319016 0
> pf_fixed 3140955 56
> pf_guest 448187 6
> request_irq 0 0
> signal_exit 39728 0
> tlb_flush 29511 31
>
Wow -- lots of I/O exits. What does 'top' in the guest say? 'hdparm
/dev/hda' in the guest?
> when logging into the virtual machine (via ssh) the virtual world is
> very slow: i set the time with "ntpdate" and wait exact one minute in
> reality. in the virtual image only 24sec are gone!
>
> and everything else in the image is really slow.
>
>
--
error compiling committee.c: too many arguments to function
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: kvm very slow
[not found] ` <46B194C5.5040508-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
@ 2007-08-02 19:31 ` Ulrich Schreiner
2007-08-07 7:20 ` Ulrich Schreiner
1 sibling, 0 replies; 23+ messages in thread
From: Ulrich Schreiner @ 2007-08-02 19:31 UTC (permalink / raw)
Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
/sbin/hdparm /dev/sda
/dev/sda:
IO_support = 0 (default 16-bit)
readonly = 0 (off)
readahead = 256 (on)
geometry = 3263/255/63, sectors = 52428800, start = 0
top in the guest-vm shows nothing special
top - 10:27:37 up 13:09, 2 users, load average: 0.05, 0.07, 0.02
Tasks: 74 total, 2 running, 72 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni, 99.7%id, 0.3%wa, 0.0%hi, 0.0%si,
0.0%st
Mem: 255396k total, 161060k used, 94336k free, 8728k buffers
Swap: 1048568k total, 4k used, 1048564k free, 42716k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4592 root 15 0 2204 976 792 R 0.3 0.4 0:00.04 top
1 root 18 0 2140 636 548 S 0.0 0.2 0:01.44 init
2 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
dmesg in the host: well i cannot find any entries of interest. here is a
link to the dmesg:
http://usc.innuendo.de/kvm/dmesg.txt
Avi Kivity schrieb:
> Ulrich Schreiner wrote:
>> dmesg|grep kvm
>>
>> SELinux: initialized (dev kvmfs, type kvmfs), uses genfs_contexts
>> kvm: emulating exchange as write
>>
>>
>
> There may be messages that aren't prefixed with 'kvm:' (that's a bug
> btw). Please check.
>
>> now booting into a F7 image, after the system is ready (and in idle):
>>
>> top
>> PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
>> 14917 root 20 0 332m 71m 66m S 6 0.9 1:17.05 qemu-kvm
>> 14954 root 20 0 14552 1072 812 R 0 0.0 0:00.01 top
>> 1 root 20 0 10320 680 572 S 0 0.0 0:02.02 init
>>
>> kvm_stat (snapshot):
>>
>> kvm statistics
>>
>> exits 12254399 79079
>> halt_exits 326543 4632
>> invlpg 0 0
>> io_exits 6539798 74320
>> irq_exits 43523 29
>> irq_window 4984 0
>> mmio_exits 1319016 0
>> pf_fixed 3140955 56
>> pf_guest 448187 6
>> request_irq 0 0
>> signal_exit 39728 0
>> tlb_flush 29511 31
>>
>
> Wow -- lots of I/O exits. What does 'top' in the guest say? 'hdparm
> /dev/hda' in the guest?
>
>> when logging into the virtual machine (via ssh) the virtual world is
>> very slow: i set the time with "ntpdate" and wait exact one minute in
>> reality. in the virtual image only 24sec are gone!
>>
>> and everything else in the image is really slow.
>>
>>
>
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: kvm very slow
[not found] ` <46B194C5.5040508-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-08-02 19:31 ` Ulrich Schreiner
@ 2007-08-07 7:20 ` Ulrich Schreiner
2007-08-07 7:44 ` Dor Laor
1 sibling, 1 reply; 23+ messages in thread
From: Ulrich Schreiner @ 2007-08-07 7:20 UTC (permalink / raw)
To: Avi Kivity; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
no ideas what can be done? why it is so slow?
i've tried the "-L /usr/shar/kvm" to use the kvm-bios but no better
performance ...
Am Donnerstag, den 02.08.2007, 11:24 +0300 schrieb Avi Kivity:
> Ulrich Schreiner wrote:
> > dmesg|grep kvm
> >
> > SELinux: initialized (dev kvmfs, type kvmfs), uses genfs_contexts
> > kvm: emulating exchange as write
> >
> >
>
> There may be messages that aren't prefixed with 'kvm:' (that's a bug
> btw). Please check.
>
> > now booting into a F7 image, after the system is ready (and in idle):
> >
> > top
> > PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
> > 14917 root 20 0 332m 71m 66m S 6 0.9 1:17.05 qemu-kvm
> > 14954 root 20 0 14552 1072 812 R 0 0.0 0:00.01 top
> > 1 root 20 0 10320 680 572 S 0 0.0 0:02.02 init
> >
> > kvm_stat (snapshot):
> >
> > kvm statistics
> >
> > exits 12254399 79079
> > halt_exits 326543 4632
> > invlpg 0 0
> > io_exits 6539798 74320
> > irq_exits 43523 29
> > irq_window 4984 0
> > mmio_exits 1319016 0
> > pf_fixed 3140955 56
> > pf_guest 448187 6
> > request_irq 0 0
> > signal_exit 39728 0
> > tlb_flush 29511 31
> >
>
> Wow -- lots of I/O exits. What does 'top' in the guest say? 'hdparm
> /dev/hda' in the guest?
>
> > when logging into the virtual machine (via ssh) the virtual world is
> > very slow: i set the time with "ntpdate" and wait exact one minute in
> > reality. in the virtual image only 24sec are gone!
> >
> > and everything else in the image is really slow.
> >
> >
>
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: kvm very slow
2007-08-07 7:20 ` Ulrich Schreiner
@ 2007-08-07 7:44 ` Dor Laor
[not found] ` <64F9B87B6B770947A9F8391472E032160D17A0EA-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
0 siblings, 1 reply; 23+ messages in thread
From: Dor Laor @ 2007-08-07 7:44 UTC (permalink / raw)
To: Ulrich Schreiner, Avi Kivity; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
>no ideas what can be done? why it is so slow?
Let's try to catch the cause for the 74k ioexits per second.
Please add #define DEBUG_IOPORT in qemu/vl.c and qemu/exec.c and
recompile.
After that when the guest runs and does 74k ioexits on idle, enter the
qemu's monitor (ctrl-alt-1)
enter 'log ioport'. All guest's ioport access will be written to
/tmp/qemu.log.
Be kind enough to calculate the statistics of ioport access per port
number a second.
With the numbers we can see the hardware that causes the slowness.
-- Dor.
btw: are you using kvm-33 or older?
>
>i've tried the "-L /usr/shar/kvm" to use the kvm-bios but no better
>performance ...
>
>Am Donnerstag, den 02.08.2007, 11:24 +0300 schrieb Avi Kivity:
>> Ulrich Schreiner wrote:
>> > dmesg|grep kvm
>> >
>> > SELinux: initialized (dev kvmfs, type kvmfs), uses genfs_contexts
>> > kvm: emulating exchange as write
>> >
>> >
>>
>> There may be messages that aren't prefixed with 'kvm:' (that's a bug
>> btw). Please check.
>>
>> > now booting into a F7 image, after the system is ready (and in
>idle):
>> >
>> > top
>> > PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+
>COMMAND
>> > 14917 root 20 0 332m 71m 66m S 6 0.9 1:17.05 qemu-
>kvm
>> > 14954 root 20 0 14552 1072 812 R 0 0.0 0:00.01 top
>> > 1 root 20 0 10320 680 572 S 0 0.0 0:02.02 init
>> >
>> > kvm_stat (snapshot):
>> >
>> > kvm statistics
>> >
>> > exits 12254399 79079
>> > halt_exits 326543 4632
>> > invlpg 0 0
>> > io_exits 6539798 74320
>> > irq_exits 43523 29
>> > irq_window 4984 0
>> > mmio_exits 1319016 0
>> > pf_fixed 3140955 56
>> > pf_guest 448187 6
>> > request_irq 0 0
>> > signal_exit 39728 0
>> > tlb_flush 29511 31
>> >
>>
>> Wow -- lots of I/O exits. What does 'top' in the guest say? 'hdparm
>> /dev/hda' in the guest?
>>
>> > when logging into the virtual machine (via ssh) the virtual world
is
>> > very slow: i set the time with "ntpdate" and wait exact one minute
>in
>> > reality. in the virtual image only 24sec are gone!
>> >
>> > and everything else in the image is really slow.
>> >
>> >
>>
>
>
>-----------------------------------------------------------------------
-
>-
>This SF.net email is sponsored by: Splunk Inc.
>Still grepping through log files to find problems? Stop.
>Now Search log events and configuration files using AJAX and a browser.
>Download your FREE copy of Splunk now >> http://get.splunk.com/
>_______________________________________________
>kvm-devel mailing list
>kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
>https://lists.sourceforge.net/lists/listinfo/kvm-devel
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: kvm very slow
[not found] ` <64F9B87B6B770947A9F8391472E032160D17A0EA-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
@ 2007-08-07 9:43 ` Ulrich Schreiner
2007-08-07 11:32 ` Luca
2007-08-07 11:51 ` Dor Laor
0 siblings, 2 replies; 23+ messages in thread
From: Ulrich Schreiner @ 2007-08-07 9:43 UTC (permalink / raw)
To: Dor Laor; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Avi Kivity
today morning i compiled kvm-33 and the output of kvm-stat is much
better now (guest in idle):
kvm statistics
efer_reload 10944273 6504
exits 13722688 6967
halt_exits 1084344 935
invlpg 0 0
io_exits 7668914 5070
irq_exits 27886 2
irq_window 11477 1
light_exits 2778416 462
mmio_exits 2153709 498
pf_fixed 1085923 0
pf_guest 459144 0
request_irq 0 0
signal_exit 25818 0
tlb_flush 228295 5
i don't know if these numbers are ok; do you still need the generated
qemu.log for ioport access? if you need it i will upload it to my public
server.
but: the system is slow. it is extremely slow when booting and the
guest-system clock ist twice as slow as the host-system clock (both are
idle; ok, the host as a runnung qemu-instance :-).
when starting i get:
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.
well i HAVE a 2.6kernel (2.6.22.1-41.fc7), but i cannot set
dev.rtc.max-user-freq, i only can set the high precision event timer
dev.hpet.max-user-freq = 1024
which i have done. but the message always appears. i don't know if this
is ignorable.
Am Dienstag, den 07.08.2007, 00:44 -0700 schrieb Dor Laor:
> >no ideas what can be done? why it is so slow?
>
> Let's try to catch the cause for the 74k ioexits per second.
> Please add #define DEBUG_IOPORT in qemu/vl.c and qemu/exec.c and
> recompile.
> After that when the guest runs and does 74k ioexits on idle, enter the
> qemu's monitor (ctrl-alt-1)
> enter 'log ioport'. All guest's ioport access will be written to
> /tmp/qemu.log.
> Be kind enough to calculate the statistics of ioport access per port
> number a second.
> With the numbers we can see the hardware that causes the slowness.
> -- Dor.
>
> btw: are you using kvm-33 or older?
>
> >
> >i've tried the "-L /usr/shar/kvm" to use the kvm-bios but no better
> >performance ...
> >
> >Am Donnerstag, den 02.08.2007, 11:24 +0300 schrieb Avi Kivity:
> >> Ulrich Schreiner wrote:
> >> > dmesg|grep kvm
> >> >
> >> > SELinux: initialized (dev kvmfs, type kvmfs), uses genfs_contexts
> >> > kvm: emulating exchange as write
> >> >
> >> >
> >>
> >> There may be messages that aren't prefixed with 'kvm:' (that's a bug
> >> btw). Please check.
> >>
> >> > now booting into a F7 image, after the system is ready (and in
> >idle):
> >> >
> >> > top
> >> > PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+
> >COMMAND
> >> > 14917 root 20 0 332m 71m 66m S 6 0.9 1:17.05 qemu-
> >kvm
> >> > 14954 root 20 0 14552 1072 812 R 0 0.0 0:00.01 top
> >> > 1 root 20 0 10320 680 572 S 0 0.0 0:02.02 init
> >> >
> >> > kvm_stat (snapshot):
> >> >
> >> > kvm statistics
> >> >
> >> > exits 12254399 79079
> >> > halt_exits 326543 4632
> >> > invlpg 0 0
> >> > io_exits 6539798 74320
> >> > irq_exits 43523 29
> >> > irq_window 4984 0
> >> > mmio_exits 1319016 0
> >> > pf_fixed 3140955 56
> >> > pf_guest 448187 6
> >> > request_irq 0 0
> >> > signal_exit 39728 0
> >> > tlb_flush 29511 31
> >> >
> >>
> >> Wow -- lots of I/O exits. What does 'top' in the guest say? 'hdparm
> >> /dev/hda' in the guest?
> >>
> >> > when logging into the virtual machine (via ssh) the virtual world
> is
> >> > very slow: i set the time with "ntpdate" and wait exact one minute
> >in
> >> > reality. in the virtual image only 24sec are gone!
> >> >
> >> > and everything else in the image is really slow.
> >> >
> >> >
> >>
> >
> >
> >-----------------------------------------------------------------------
> -
> >-
> >This SF.net email is sponsored by: Splunk Inc.
> >Still grepping through log files to find problems? Stop.
> >Now Search log events and configuration files using AJAX and a browser.
> >Download your FREE copy of Splunk now >> http://get.splunk.com/
> >_______________________________________________
> >kvm-devel mailing list
> >kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
> >https://lists.sourceforge.net/lists/listinfo/kvm-devel
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: kvm very slow
2007-08-07 9:43 ` Ulrich Schreiner
@ 2007-08-07 11:32 ` Luca
2007-08-07 11:51 ` Dor Laor
1 sibling, 0 replies; 23+ messages in thread
From: Luca @ 2007-08-07 11:32 UTC (permalink / raw)
To: Ulrich Schreiner; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Avi Kivity
On 8/7/07, Ulrich Schreiner <ulrich.schreiner-sZDnKEZIvs8b1SvskN2V4Q@public.gmane.org> wrote:
> 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.
>
> well i HAVE a 2.6kernel (2.6.22.1-41.fc7), but i cannot set
> dev.rtc.max-user-freq, i only can set the high precision event timer
>
> dev.hpet.max-user-freq = 1024
Known issue, it's unrelated to KVM. HPET is using the same IRQ as the
cmos RTC so only on of them can deliver the periodical interrupt. I
think that work to program the HPET in dont-break-other-stuff mode is
underway.
Luca
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: kvm very slow
2007-08-07 9:43 ` Ulrich Schreiner
2007-08-07 11:32 ` Luca
@ 2007-08-07 11:51 ` Dor Laor
[not found] ` <64F9B87B6B770947A9F8391472E032160D17A197-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
1 sibling, 1 reply; 23+ messages in thread
From: Dor Laor @ 2007-08-07 11:51 UTC (permalink / raw)
To: Ulrich Schreiner; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Avi Kivity
>today morning i compiled kvm-33 and the output of kvm-stat is much
>better now (guest in idle):
>
>kvm statistics
>
> efer_reload 10944273 6504
> exits 13722688 6967
> halt_exits 1084344 935
> invlpg 0 0
> io_exits 7668914 5070
> irq_exits 27886 2
> irq_window 11477 1
> light_exits 2778416 462
> mmio_exits 2153709 498
> pf_fixed 1085923 0
> pf_guest 459144 0
> request_irq 0 0
> signal_exit 25818 0
> tlb_flush 228295 5
It's much better. What does the guest do? It's weird it reloads the
efer.
>
>
>i don't know if these numbers are ok; do you still need the generated
>qemu.log for ioport access? if you need it i will upload it to my
public
>server.
>
>but: the system is slow. it is extremely slow when booting and the
>guest-system clock ist twice as slow as the host-system clock (both are
>idle; ok, the host as a runnung qemu-instance :-).
>
>when starting i get:
>
>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.
>
>well i HAVE a 2.6kernel (2.6.22.1-41.fc7), but i cannot set
>dev.rtc.max-user-freq, i only can set the high precision event timer
>
>dev.hpet.max-user-freq = 1024
>
>which i have done. but the message always appears. i don't know if this
>is ignorable.
>
The problem is that qemu calculates time using either sigalarm or rtc.
(the later in more accurate)
Seems like qemu doesn't get enough signals to inject timer irq to the
guest.
Luca claims the HPET intefer the RTC. Can it be disabled? ( I know some
new chipsets implement rtc using HPET).
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: kvm very slow
[not found] ` <64F9B87B6B770947A9F8391472E032160D17A197-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
@ 2007-08-07 12:08 ` Luca
[not found] ` <68676e00708070508w3d9e5ab8gd26263c44bf59f0d-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-08-07 12:25 ` Ulrich Schreiner
1 sibling, 1 reply; 23+ messages in thread
From: Luca @ 2007-08-07 12:08 UTC (permalink / raw)
To: Dor Laor; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Avi Kivity
On 8/7/07, Dor Laor <dor.laor-atKUWr5tajBWk0Htik3J/w@public.gmane.org> wrote:
> Luca claims the HPET intefer the RTC. Can it be disabled? ( I know some
> new chipsets implement rtc using HPET).
Basically HPET can operate in legacy mode - where it uses the same IRQ
as the RTC (and RTC won't deliver any interrupt) - or in "standard"
mode where the IO-APIC can be configured to deliver the interrupt on
any line. ATM Linux can only use the legacy mode.
You can of course disable HPET, but then it won't be available for
in-kernel timekeeping (in case e.g. the TSC is not stable/synced). I'd
rather add support for HPET as timer in QEMU...
On the original issue: if the host is running at HZ=100 then the
precision of the timer may be a awkward (usually around 20ms), but
it's surprising that it causes such a huge drift.
Luca
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: kvm very slow
[not found] ` <64F9B87B6B770947A9F8391472E032160D17A197-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-08-07 12:08 ` Luca
@ 2007-08-07 12:25 ` Ulrich Schreiner
1 sibling, 0 replies; 23+ messages in thread
From: Ulrich Schreiner @ 2007-08-07 12:25 UTC (permalink / raw)
To: Dor Laor; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Avi Kivity
well there are running some "default F7 daemons".
yum-updatesd (python)
setroubleshootd (python)
hald
...
but no process is really running, when doing a "htop" i the processor
has a load of 0.7%
what is the "efer_reload"?
while i'm writing this email i have kvm_stat in another shell in the
background and this value always is between 5000 and 7000
btw: i patched kvm_stat to make the screen refresh faster/slower, so
that i can mark the output with the mouse and copy it (to my posts :-).
is there a need for this?
</usc>
Am Dienstag, den 07.08.2007, 04:51 -0700 schrieb Dor Laor:
> >today morning i compiled kvm-33 and the output of kvm-stat is much
> >better now (guest in idle):
> >
> >kvm statistics
> >
> > efer_reload 10944273 6504
> > exits 13722688 6967
> > halt_exits 1084344 935
> > invlpg 0 0
> > io_exits 7668914 5070
> > irq_exits 27886 2
> > irq_window 11477 1
> > light_exits 2778416 462
> > mmio_exits 2153709 498
> > pf_fixed 1085923 0
> > pf_guest 459144 0
> > request_irq 0 0
> > signal_exit 25818 0
> > tlb_flush 228295 5
>
>
> It's much better. What does the guest do? It's weird it reloads the
> efer.
>
> >
> >
> >i don't know if these numbers are ok; do you still need the generated
> >qemu.log for ioport access? if you need it i will upload it to my
> public
> >server.
> >
> >but: the system is slow. it is extremely slow when booting and the
> >guest-system clock ist twice as slow as the host-system clock (both are
> >idle; ok, the host as a runnung qemu-instance :-).
> >
> >when starting i get:
> >
> >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.
> >
> >well i HAVE a 2.6kernel (2.6.22.1-41.fc7), but i cannot set
> >dev.rtc.max-user-freq, i only can set the high precision event timer
> >
> >dev.hpet.max-user-freq = 1024
> >
> >which i have done. but the message always appears. i don't know if this
> >is ignorable.
> >
>
> The problem is that qemu calculates time using either sigalarm or rtc.
> (the later in more accurate)
> Seems like qemu doesn't get enough signals to inject timer irq to the
> guest.
>
> Luca claims the HPET intefer the RTC. Can it be disabled? ( I know some
> new chipsets implement rtc using HPET).
>
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: kvm very slow
[not found] ` <68676e00708070508w3d9e5ab8gd26263c44bf59f0d-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2007-08-07 12:30 ` Dor Laor
[not found] ` <64F9B87B6B770947A9F8391472E032160D17A1C2-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-08-07 20:49 ` Luca Tettamanti
1 sibling, 1 reply; 23+ messages in thread
From: Dor Laor @ 2007-08-07 12:30 UTC (permalink / raw)
To: Luca; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Avi Kivity
>> Luca claims the HPET intefer the RTC. Can it be disabled? ( I know
>some
>> new chipsets implement rtc using HPET).
>
>Basically HPET can operate in legacy mode - where it uses the same IRQ
>as the RTC (and RTC won't deliver any interrupt) - or in "standard"
>mode where the IO-APIC can be configured to deliver the interrupt on
>any line. ATM Linux can only use the legacy mode.
>You can of course disable HPET, but then it won't be available for
>in-kernel timekeeping (in case e.g. the TSC is not stable/synced). I'd
>rather add support for HPET as timer in QEMU...
>On the original issue: if the host is running at HZ=100 then the
>precision of the timer may be a awkward (usually around 20ms), but
>it's surprising that it causes such a huge drift.
We're experiencing guest clock drifts even when the host is running with HZ=1000.
But so far there were no performance problmes around it.
It's worth a shot anyway.
Another option is to use -tdf for qemu command line (stands for TimeDriftFix).
The option make qemu push more pit irqs to the guest until the required ack
number is reached.
For the general case there is work in progress to fix these types of timing issues.
We intend to do the following:
1. Make qemu support dyn-tick (almost done)
2. Add compensation support for all guest time sources (pit, acpi,..)
3. Add kernel ioctl command to receive accurate time source (based on hrtimer) for
hosts without dyn-tick (which provides accurate high precision user space timers).
--Dor
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: kvm very slow
[not found] ` <64F9B87B6B770947A9F8391472E032160D17A1C2-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
@ 2007-08-07 12:50 ` Ulrich Schreiner
2007-08-07 14:38 ` Dong, Eddie
1 sibling, 0 replies; 23+ messages in thread
From: Ulrich Schreiner @ 2007-08-07 12:50 UTC (permalink / raw)
To: Dor Laor; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Avi Kivity
> We're experiencing guest clock drifts even when the host is running with HZ=1000.
> But so far there were no performance problmes around it.
> It's worth a shot anyway.
>
are there any benchmarkings (and tools) which i can run inside the
guest? are there any official results with which i can compare?
my "performance problem" is that i have an image with an
applicationserver (python based) inside and this server performs better
(faster response times, more request/sec) when run with qemu/kqemu on my
1-year-old-sonynotebook (32-bit fedora7) compared to a quadcore 2month
old dell-server (64-bit fedora7) and qemu/kvm :-).
well ... it works, but it is a little disappointing.
the wrong timer is really awkward, because the time in the guest drifts
extremly (about half of real time) so the "ntpd" does not automatically
set update time because after some time the drift is so big, that ntpd
will not set the system time. i had to disable ntpd and start a cronjob
every minute to set the current time! so i only loose every second
minute.
my timestamps in the database for my webapp are ... well mostly ok. but
i cannot use this scenario for a productive system of my webapp.
i don't know if this behaviour (rtc/hpe) has impact on the performance
(hopefully, because you wrote work in on the way).
</usc>
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: kvm very slow
[not found] ` <64F9B87B6B770947A9F8391472E032160D17A1C2-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-08-07 12:50 ` Ulrich Schreiner
@ 2007-08-07 14:38 ` Dong, Eddie
[not found] ` <10EA09EFD8728347A513008B6B0DA77A01E45A1D-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
1 sibling, 1 reply; 23+ messages in thread
From: Dong, Eddie @ 2007-08-07 14:38 UTC (permalink / raw)
To: Dor Laor, Luca; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Avi Kivity
kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org wrote:
>>> Luca claims the HPET intefer the RTC. Can it be disabled? ( I know
>>> some new chipsets implement rtc using HPET).
>>
>> Basically HPET can operate in legacy mode - where it uses the same
>> IRQ as the RTC (and RTC won't deliver any interrupt) - or in
>> "standard" mode where the IO-APIC can be configured to deliver the
>> interrupt on any line. ATM Linux can only use the legacy mode.
>> You can of course disable HPET, but then it won't be available for
>> in-kernel timekeeping (in case e.g. the TSC is not stable/synced).
>> I'd rather add support for HPET as timer in QEMU...
>> On the original issue: if the host is running at HZ=100 then the
>> precision of the timer may be a awkward (usually around 20ms), but
>> it's surprising that it causes such a huge drift.
>
> We're experiencing guest clock drifts even when the host is
> running with HZ=1000.
> But so far there were no performance problmes around it.
> It's worth a shot anyway.
>
> Another option is to use -tdf for qemu command line (stands
> for TimeDriftFix).
> The option make qemu push more pit irqs to the guest until the
> required ack number is reached.
>
> For the general case there is work in progress to fix these
> types of timing issues.
> We intend to do the following:
> 1. Make qemu support dyn-tick (almost done)
> 2. Add compensation support for all guest time sources (pit, acpi,..)
> 3. Add kernel ioctl command to receive accurate time source (based on
> hrtimer) for hosts without dyn-tick (which provides accurate high
> precision user space timers).
>
Even with this, the guest time will still have 20-30% drift since Linux
guest TSC handler
will cross refer the PIT irq with TSC value to pick up the lost ticks
which works fine for
native but bring many un necessary compensation in guest side. Simplying
adding
compensation timer irq to guest solve part of the issues, but still
painful. Xen took an
aggresive approach to fix this by precisely sync guest time resource
together such as
PIT, TSC, RTC etc. But it is too complicated and still doesn;t solve the
whole
problem in SMP situation, it may be not necessay in KVM.
BTW, Vmware also has similar time virtualization issue. pv TSC time
resource may solve
this issue finally.
thx,eddie
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: kvm very slow
[not found] ` <10EA09EFD8728347A513008B6B0DA77A01E45A1D-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
@ 2007-08-07 14:50 ` Dor Laor
0 siblings, 0 replies; 23+ messages in thread
From: Dor Laor @ 2007-08-07 14:50 UTC (permalink / raw)
To: Dong, Eddie, Luca; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Avi Kivity
>>> Basically HPET can operate in legacy mode - where it uses the same
>>> IRQ as the RTC (and RTC won't deliver any interrupt) - or in
>>> "standard" mode where the IO-APIC can be configured to deliver the
>>> interrupt on any line. ATM Linux can only use the legacy mode.
>>> You can of course disable HPET, but then it won't be available for
>>> in-kernel timekeeping (in case e.g. the TSC is not stable/synced).
>>> I'd rather add support for HPET as timer in QEMU...
>>> On the original issue: if the host is running at HZ=100 then the
>>> precision of the timer may be a awkward (usually around 20ms), but
>>> it's surprising that it causes such a huge drift.
>>
>> We're experiencing guest clock drifts even when the host is
>> running with HZ=1000.
>> But so far there were no performance problmes around it.
>> It's worth a shot anyway.
>>
>> Another option is to use -tdf for qemu command line (stands
>> for TimeDriftFix).
>> The option make qemu push more pit irqs to the guest until the
>> required ack number is reached.
>>
>> For the general case there is work in progress to fix these
>> types of timing issues.
>> We intend to do the following:
>> 1. Make qemu support dyn-tick (almost done)
>> 2. Add compensation support for all guest time sources (pit, acpi,..)
>> 3. Add kernel ioctl command to receive accurate time source (based on
>> hrtimer) for hosts without dyn-tick (which provides accurate high
>> precision user space timers).
>>
>Even with this, the guest time will still have 20-30% drift since Linux
>guest TSC handler
>will cross refer the PIT irq with TSC value to pick up the lost ticks
>which works fine for
>native but bring many un necessary compensation in guest side.
Simplying
>adding
>compensation timer irq to guest solve part of the issues, but still
>painful. Xen took an
>aggresive approach to fix this by precisely sync guest time resource
>together such as
>PIT, TSC, RTC etc. But it is too complicated and still doesn;t solve
the
>whole
>problem in SMP situation, it may be not necessay in KVM.
You're right that we need to sync all time sources, I just want to start
with the first.
Since non-acpi windows uses PIT we chose to start with it.
>
>BTW, Vmware also has similar time virtualization issue. pv TSC time
>resource may solve
>this issue finally.
It should also work for HVMs. I know that VMware also changed ntp,
probably because
their virtualize time is not perfect.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: kvm very slow
[not found] ` <68676e00708070508w3d9e5ab8gd26263c44bf59f0d-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-08-07 12:30 ` Dor Laor
@ 2007-08-07 20:49 ` Luca Tettamanti
[not found] ` <20070807204922.GA27976-sTXFmx6KbOnUXq0IF5SVAZ4oGUkBHcCu@public.gmane.org>
1 sibling, 1 reply; 23+ messages in thread
From: Luca Tettamanti @ 2007-08-07 20:49 UTC (permalink / raw)
To: Ulrich Schreiner; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Avi Kivity
Il Tue, Aug 07, 2007 at 02:08:08PM +0200, Luca ha scritto:
> On 8/7/07, Dor Laor <dor.laor-atKUWr5tajBWk0Htik3J/w@public.gmane.org> wrote:
> > Luca claims the HPET intefer the RTC. Can it be disabled? ( I know some
> > new chipsets implement rtc using HPET).
>
> Basically HPET can operate in legacy mode - where it uses the same IRQ
> as the RTC (and RTC won't deliver any interrupt) - or in "standard"
> mode where the IO-APIC can be configured to deliver the interrupt on
> any line. ATM Linux can only use the legacy mode.
> You can of course disable HPET, but then it won't be available for
> in-kernel timekeeping (in case e.g. the TSC is not stable/synced). I'd
> rather add support for HPET as timer in QEMU...
Something like this. Ulrich can you give it a try:
---
Patch against current GIT, but also applies to kvm-33.
Run kvm with -use-hpet.
qemu/vl.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 60 insertions(+), 2 deletions(-)
diff --git a/qemu/vl.c b/qemu/vl.c
index 4ad39f1..36628af 100644
--- a/qemu/vl.c
+++ b/qemu/vl.c
@@ -54,6 +54,7 @@
#include <pty.h>
#include <malloc.h>
#include <linux/rtc.h>
+#include <linux/hpet.h>
#include <linux/ppdev.h>
#endif
#endif
@@ -996,8 +997,9 @@ static void host_alarm_handler(int host_signum)
static int use_rtc = 1;
static int rtc_fd;
+static int use_hpet;
-static int start_rtc_timer(void)
+static int enable_rtc(void)
{
rtc_fd = open("/dev/rtc", O_RDONLY);
if (rtc_fd < 0)
@@ -1017,6 +1019,56 @@ static int start_rtc_timer(void)
return 0;
}
+static char default_hpet[] = "/dev/hpet";
+
+static int enable_hpet(void)
+{
+ struct hpet_info info;
+ int r;
+
+ rtc_fd = open(default_hpet, O_RDONLY);
+ if (rtc_fd < 0)
+ return -1;
+
+ /* Set frequency */
+ r = ioctl(rtc_fd, HPET_IRQFREQ, RTC_FREQ);
+ if (r < 0) {
+ fprintf(stderr, "Could not configure '/dev/hpet' to have a 1024 Hz timer. This is not a fatal\n"
+ "error, but for better emulation accuracy type:\n"
+ "'echo 1024 > /proc/sys/dev/hpet/max-user-freq' as root.\n");
+ goto fail;
+ }
+
+ /* Check capabilities */
+ r = ioctl(rtc_fd, HPET_INFO, &info);
+ if (r < 0)
+ goto fail;
+
+ /* Enable peridic mode */
+ r = ioctl(rtc_fd, HPET_EPI, 0);
+ if (info.hi_flags && (r < 0))
+ goto fail;
+
+ /* Enable interrupt */
+ r = ioctl(rtc_fd, HPET_IE_ON, 0);
+ if (r < 0)
+ goto fail;
+
+ pit_min_timer_count = PIT_FREQ / RTC_FREQ;
+
+ return 0;
+fail:
+ close(rtc_fd);
+ return -1;
+}
+
+static int start_rtc_timer(void)
+{
+ if (use_hpet)
+ return enable_hpet();
+ else
+ return enable_rtc();
+}
#else
static int start_rtc_timer(void)
@@ -1090,7 +1142,7 @@ static void init_timer_alarm(void)
2.6 kernels */
if (itv.it_interval.tv_usec > 1000 || 1) {
/* try to use /dev/rtc to have a faster timer */
- if (!use_rtc || (start_rtc_timer() < 0))
+ if ((!use_rtc && !use_hpet) || (start_rtc_timer() < 0))
goto use_itimer;
/* disable itimer */
itv.it_interval.tv_sec = 0;
@@ -6482,6 +6534,7 @@ void help(void)
"-tdf inject timer interrupts that got lost\n"
#if defined(__linux__)
"-no-rtc don't use /dev/rtc for timer alarm (do use gettimeofday)\n"
+ "-use-rtc use /dev/hpet (HPET) for timer alarm (do use gettimeofday)\n"
#endif
"-option-rom rom load a file, rom, into the option ROM space\n"
"\n"
@@ -6574,6 +6627,7 @@ enum {
QEMU_OPTION_tdf,
#if defined(__linux__)
QEMU_OPTION_no_rtc,
+ QEMU_OPTION_use_hpet,
#endif
QEMU_OPTION_cpu_vendor,
};
@@ -6671,6 +6725,7 @@ const QEMUOption qemu_options[] = {
{ "tdf", 0, QEMU_OPTION_tdf }, /* enable time drift fix */
#if defined(__linux__)
{ "no-rtc", 0, QEMU_OPTION_no_rtc },
+ { "use-hpet", 0, QEMU_OPTION_use_hpet },
#endif
{ "cpu-vendor", HAS_ARG, QEMU_OPTION_cpu_vendor },
{ NULL },
@@ -7395,6 +7450,9 @@ int main(int argc, char **argv)
case QEMU_OPTION_no_rtc:
use_rtc = 0;
break;
+ case QEMU_OPTION_use_hpet:
+ use_hpet = 1;
+ break;
#endif
case QEMU_OPTION_cpu_vendor:
cpu_vendor_string = optarg;
Luca
--
I went to God just to see
And I was looking at me
Saw heaven and hell were lies
When I'm God everyone dies
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: kvm very slow
[not found] ` <20070807204922.GA27976-sTXFmx6KbOnUXq0IF5SVAZ4oGUkBHcCu@public.gmane.org>
@ 2007-08-08 6:28 ` Ulrich Schreiner
0 siblings, 0 replies; 23+ messages in thread
From: Ulrich Schreiner @ 2007-08-08 6:28 UTC (permalink / raw)
To: Luca Tettamanti; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Avi Kivity
ok,
patched kvm-33, compile, install
i started qemu-system-x86_64 with "-no-rtc -use-hpet" and ... well the
time drift is unchanged. ok, the warning for "dev.rtc..." has gone.
doing a date (guest) gives me (for example):
8:08:59
after 10 (real!) seconds, date (guest) gives me
8:09:04
--> 10 real seconds are about 5 seconds in the guest. working about 5
minutes in the guest and the clock drifts a few minutes in the past.
</usc>
ps: the line
"-use-rtc use /dev/hpet (HPET) for timer alarm (do use
gettimeofday)\n"
should be
"-use-hpet use /dev/hpet (HPET) for timer alarm (do use
gettimeofday)\n"
because "use-hpet" is the option which is aksed in the code
Am Dienstag, den 07.08.2007, 22:49 +0200 schrieb Luca Tettamanti:
> Il Tue, Aug 07, 2007 at 02:08:08PM +0200, Luca ha scritto:
> > On 8/7/07, Dor Laor <dor.laor-atKUWr5tajBWk0Htik3J/w@public.gmane.org> wrote:
> > > Luca claims the HPET intefer the RTC. Can it be disabled? ( I know some
> > > new chipsets implement rtc using HPET).
> >
> > Basically HPET can operate in legacy mode - where it uses the same IRQ
> > as the RTC (and RTC won't deliver any interrupt) - or in "standard"
> > mode where the IO-APIC can be configured to deliver the interrupt on
> > any line. ATM Linux can only use the legacy mode.
> > You can of course disable HPET, but then it won't be available for
> > in-kernel timekeeping (in case e.g. the TSC is not stable/synced). I'd
> > rather add support for HPET as timer in QEMU...
>
> Something like this. Ulrich can you give it a try:
>
> ---
> Patch against current GIT, but also applies to kvm-33.
> Run kvm with -use-hpet.
>
> qemu/vl.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++--
> 1 file changed, 60 insertions(+), 2 deletions(-)
>
> diff --git a/qemu/vl.c b/qemu/vl.c
> index 4ad39f1..36628af 100644
> --- a/qemu/vl.c
> +++ b/qemu/vl.c
> @@ -54,6 +54,7 @@
> #include <pty.h>
> #include <malloc.h>
> #include <linux/rtc.h>
> +#include <linux/hpet.h>
> #include <linux/ppdev.h>
> #endif
> #endif
> @@ -996,8 +997,9 @@ static void host_alarm_handler(int host_signum)
>
> static int use_rtc = 1;
> static int rtc_fd;
> +static int use_hpet;
>
> -static int start_rtc_timer(void)
> +static int enable_rtc(void)
> {
> rtc_fd = open("/dev/rtc", O_RDONLY);
> if (rtc_fd < 0)
> @@ -1017,6 +1019,56 @@ static int start_rtc_timer(void)
> return 0;
> }
>
> +static char default_hpet[] = "/dev/hpet";
> +
> +static int enable_hpet(void)
> +{
> + struct hpet_info info;
> + int r;
> +
> + rtc_fd = open(default_hpet, O_RDONLY);
> + if (rtc_fd < 0)
> + return -1;
> +
> + /* Set frequency */
> + r = ioctl(rtc_fd, HPET_IRQFREQ, RTC_FREQ);
> + if (r < 0) {
> + fprintf(stderr, "Could not configure '/dev/hpet' to have a 1024 Hz timer. This is not a fatal\n"
> + "error, but for better emulation accuracy type:\n"
> + "'echo 1024 > /proc/sys/dev/hpet/max-user-freq' as root.\n");
> + goto fail;
> + }
> +
> + /* Check capabilities */
> + r = ioctl(rtc_fd, HPET_INFO, &info);
> + if (r < 0)
> + goto fail;
> +
> + /* Enable peridic mode */
> + r = ioctl(rtc_fd, HPET_EPI, 0);
> + if (info.hi_flags && (r < 0))
> + goto fail;
> +
> + /* Enable interrupt */
> + r = ioctl(rtc_fd, HPET_IE_ON, 0);
> + if (r < 0)
> + goto fail;
> +
> + pit_min_timer_count = PIT_FREQ / RTC_FREQ;
> +
> + return 0;
> +fail:
> + close(rtc_fd);
> + return -1;
> +}
> +
> +static int start_rtc_timer(void)
> +{
> + if (use_hpet)
> + return enable_hpet();
> + else
> + return enable_rtc();
> +}
> #else
>
> static int start_rtc_timer(void)
> @@ -1090,7 +1142,7 @@ static void init_timer_alarm(void)
> 2.6 kernels */
> if (itv.it_interval.tv_usec > 1000 || 1) {
> /* try to use /dev/rtc to have a faster timer */
> - if (!use_rtc || (start_rtc_timer() < 0))
> + if ((!use_rtc && !use_hpet) || (start_rtc_timer() < 0))
> goto use_itimer;
> /* disable itimer */
> itv.it_interval.tv_sec = 0;
> @@ -6482,6 +6534,7 @@ void help(void)
> "-tdf inject timer interrupts that got lost\n"
> #if defined(__linux__)
> "-no-rtc don't use /dev/rtc for timer alarm (do use gettimeofday)\n"
> + "-use-rtc use /dev/hpet (HPET) for timer alarm (do use gettimeofday)\n"
> #endif
> "-option-rom rom load a file, rom, into the option ROM space\n"
> "\n"
> @@ -6574,6 +6627,7 @@ enum {
> QEMU_OPTION_tdf,
> #if defined(__linux__)
> QEMU_OPTION_no_rtc,
> + QEMU_OPTION_use_hpet,
> #endif
> QEMU_OPTION_cpu_vendor,
> };
> @@ -6671,6 +6725,7 @@ const QEMUOption qemu_options[] = {
> { "tdf", 0, QEMU_OPTION_tdf }, /* enable time drift fix */
> #if defined(__linux__)
> { "no-rtc", 0, QEMU_OPTION_no_rtc },
> + { "use-hpet", 0, QEMU_OPTION_use_hpet },
> #endif
> { "cpu-vendor", HAS_ARG, QEMU_OPTION_cpu_vendor },
> { NULL },
> @@ -7395,6 +7450,9 @@ int main(int argc, char **argv)
> case QEMU_OPTION_no_rtc:
> use_rtc = 0;
> break;
> + case QEMU_OPTION_use_hpet:
> + use_hpet = 1;
> + break;
> #endif
> case QEMU_OPTION_cpu_vendor:
> cpu_vendor_string = optarg;
>
>
>
> Luca
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: kvm very slow
2007-08-01 5:22 kvm very slow Ulrich Schreiner
2007-08-01 16:41 ` Avi Kivity
@ 2007-08-09 23:23 ` Matthew Kent
2007-08-10 0:09 ` Matthew Kent
2007-08-16 9:56 ` Avi Kivity
1 sibling, 2 replies; 23+ messages in thread
From: Matthew Kent @ 2007-08-09 23:23 UTC (permalink / raw)
To: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
[-- Attachment #1: Type: text/plain, Size: 2571 bytes --]
On Wed, 2007-01-08 at 07:22 +0200, Ulrich Schreiner wrote:
> hi,
>
> im using a 64 bit fedora7 system with a quad-core processor to host
> multiple virtual machines.
>
literally the exact same setup here
> my current kernel is:
>
> Linux testserver 2.6.22.1-27.fc7 #1 SMP Tue Jul 17 17:19:58 EDT 2007
> x86_64 x86_64 x86_64 GNU/Linux
>
> (now there is a 2.6.22.1-33.fc7 to download, but i think it is not the
> point here).
>
2.6.22.1-41.fc7 x86_64 host
> i installed
>
> kvm.x86_64: 31-1.fc8
kvm-33
>
> because of a crash i reported as a bug with the older kvm module.
>
> this system starts a F7 image with the following command:
>
> /usr/bin/qemu-kvm
> -net nic,macadr=52.54.00.12.34.57
> -net tap,script=./ifup.py,ifname=tap0
> -hda /var/qemu/vm_images/F7image.img
> -boot c: -m 512 -vnc :2 -k de
>
> inside the image there is fedora 7, but a 32bit system.
>
almost exact same as here except using 32 bit fedora rawhide
(development) guest running kernel 2.6.23-0.74.rc2.git1.fc8
> almost everything works (reboot hangs), but the system is extremely
> slow! the clock inside the system is extremely slow: every *virtual*
> second in the image is about two or more seconds in the *real* world.
and I'm having the exact same issue here. The hardware clock works fine
(least from the output of /proc/driver/rtc and hwclock) but the system
time quickly falls behind in the guest, approx 0.5 secs for every 1 real
second.
No combination of selecting different clocksources in the guest,
disabling CONFIG_NO_HZ, etc seemed to make any difference. And the fact
is my fc7 x86_64 install works just great so I doubt its the host.
What I did notice though was ACPI wasn't being enabled by default for
the 32bit kernel with the message
ACPI: no DMI BIOS year, acpi=force is required to enable ACPI
and that the acpi_pm clocksource the x86_64 guest picked by default,
which worked fine, was missing. eg:
2.6.23-0.74.rc2.git1.fc8 i686 default boot:
/sys/devices/system/clocksource/clocksource0/available_clocksource
pit jiffies tsc
/sys/devices/system/clocksource/clocksource0/current_clocksource
pit
2.6.23-0.74.rc2.git1.fc8 i686 with acpi=force:
/sys/devices/system/clocksource/clocksource0/available_clocksource
tsc acpi_pm pit jiffies
/sys/devices/system/clocksource/clocksource0/current_clocksource
tsc
and now everything seems great, hardware and system time seem 1:1
again.
Attached is a diff of the dmesg from each boot.
As to why this is...
--
Matthew Kent <mkent-rTVjrLRGJfNWk0Htik3J/w@public.gmane.org>
http://magoazul.com
[-- Attachment #2: acpi.diff --]
[-- Type: text/x-patch, Size: 9260 bytes --]
--- dmesg.f7_32bit_default 2007-08-09 16:00:00.000000000 -0700
+++ dmesg.f7_32bit_forced_acpi 2007-08-09 15:59:55.000000000 -0700
@@ -34,21 +34,30 @@
ACPI: FACS 1FFF00C0, 0040
ACPI: APIC 1FFF0938, 0040 (r1 QEMU QEMUAPIC 1 QEMU 1)
ACPI: no DMI BIOS year, acpi=force is required to enable ACPI
-ACPI: Disabling ACPI support
+ACPI: acpi=force override
+ACPI: PM-Timer IO Port: 0xb008
+ACPI: Local APIC address 0xfee00000
+ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
+Processor #0 6:2 APIC version 17
+ACPI: IOAPIC (id[0x01] address[0xfec00000] gsi_base[0])
+IOAPIC[0]: apic_id 1, version 17, address 0xfec00000, GSI 0-23
+ACPI: IRQ11 used by override.
+Enabling APIC mode: Flat. Using 1 I/O APICs
+Using ACPI (MADT) for SMP configuration information
Allocating PCI resources starting at 30000000 (gap: 20000000:dffc0000)
swsusp: Registered nosave memory region: 000000000009f000 - 00000000000a0000
swsusp: Registered nosave memory region: 00000000000a0000 - 00000000000e8000
swsusp: Registered nosave memory region: 00000000000e8000 - 0000000000100000
Built 1 zonelists in Zone order. Total pages: 129265
-Kernel command line: ro root=/dev/VolGroup00/LogVol00 console=tty0 console=ttyS0 debug
-Found and enabled local APIC!
+Kernel command line: ro root=/dev/VolGroup00/LogVol00 console=tty0 console=ttyS0 debug acpi=force
mapped APIC to ffffb000 (fee00000)
+mapped IOAPIC to ffffa000 (fec00000)
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Initializing CPU#0
CPU 0 irqstacks, hard=c0817000 soft=c07f7000
PID hash table entries: 2048 (order: 11, 8192 bytes)
-Detected 2400.636 MHz processor.
+Detected 2400.387 MHz processor.
Console: colour VGA+ 80x25
console [tty0] enabled
console [ttyS0] enabled
@@ -75,7 +84,7 @@
.text : 0xc0400000 - 0xc063074d (2241 kB)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
SLUB: Genslabs=22, HWalign=64, Order=0-1, MinObjects=4, CPUs=1, Nodes=1
-Calibrating delay using timer specific routine.. 9619.97 BogoMIPS (lpj=4809986)
+Calibrating delay using timer specific routine.. 9622.99 BogoMIPS (lpj=4811496)
Security Framework v1.0.0 initialized
SELinux: Initializing.
SELinux: Starting in permissive mode
@@ -92,8 +101,13 @@
Checking 'hlt' instruction... OK.
SMP alternatives: switching to UP code
Freeing SMP alternatives: 12k freed
+ACPI: Core revision 20070126
CPU0: Intel QEMU Virtual CPU version 0.9.0 stepping 03
-SMP motherboard not detected.
+Total of 1 processors activated (9622.99 BogoMIPS).
+ENABLING IO-APIC IRQs
+..TIMER: vector=0x31 apic1=0 pin1=0 apic2=-1 pin2=-1
+APIC calibration not consistent with PM Timer: 199ms instead of 100ms
+APIC delta adjusted to PM-Timer: 6249985 (12499675)
Brought up 1 CPUs
sizeof(vma)=84 bytes
sizeof(page)=56 bytes
@@ -106,25 +120,36 @@
khelper used greatest stack depth: 3160 bytes left
Booting paravirtualized kernel on bare hardware
khelper used greatest stack depth: 3084 bytes left
-Time: 22:48:42 Date: 07/09/107
+Time: 22:55:44 Date: 07/09/107
NET: Registered protocol family 16
+ACPI: bus type pci registered
PCI: PCI BIOS revision 2.10 entry at 0xfa130, last bus=0
PCI: Using configuration type 1
Setting up standard PCI resources
-khelper used greatest stack depth: 2928 bytes left
-ACPI: Interpreter disabled.
-Linux Plug and Play Support v0.97 (c) Adam Belay
-pnp: PnP ACPI: disabled
-usbcore: registered new interface driver usbfs
-usbcore: registered new interface driver hub
-usbcore: registered new device driver usb
-PCI: Probing PCI hardware
-PCI: Probing PCI hardware (bus 00)
+ACPI: Interpreter enabled
+ACPI: (supports)
+ACPI: Using IOAPIC for interrupt routing
+khelper used greatest stack depth: 2944 bytes left
+ACPI: PCI Root Bridge [PCI0] (0000:00)
* Found PM-Timer Bug on the chipset. Due to workarounds for a bug,
* this clock source is slow. Consider trying other clock sources
PCI quirk: region b000-b03f claimed by PIIX4 ACPI
PCI quirk: region b100-b10f claimed by PIIX4 SMB
-PCI: Using IRQ router PIIX/ICH [8086/7000] at 0000:00:01.0
+ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
+ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 9 10 *11 12)
+ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 *9 10 11 12)
+ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 9 10 *11 12)
+ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 *9 10 11 12)
+Linux Plug and Play Support v0.97 (c) Adam Belay
+pnp: PnP ACPI init
+ACPI: bus type pnp registered
+pnp: PnP ACPI: found 6 devices
+ACPI: ACPI bus type pnp unregistered
+usbcore: registered new interface driver usbfs
+usbcore: registered new interface driver hub
+usbcore: registered new device driver usb
+PCI: Using ACPI for IRQ routing
+PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a report
NetLabel: Initializing
NetLabel: domain hash size = 128
NetLabel: protocols = UNLABELED CIPSOv4
@@ -139,10 +164,10 @@
checking if image is initramfs... it is
Freeing initrd memory: 3801k freed
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16ac)
+apm: overridden by ACPI.
audit: initializing netlink socket (disabled)
-audit(1186699721.596:1): initialized
+audit(1186700143.557:1): initialized
Total HugeTLB memory allocated, 0
-khelper used greatest stack depth: 2888 bytes left
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
SELinux: Registering netfilter hooks
@@ -159,17 +184,19 @@
Activating ISA DMA hang workarounds.
Boot video device is 0000:00:02.0
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
-khelper used greatest stack depth: 2860 bytes left
isapnp: Scanning for PnP cards...
+Switched to high resolution mode on CPU 0
isapnp: No Plug & Play device found
Generic RTC Driver v1.07
Non-volatile memory driver v1.2
Linux agpgart interface v0.102
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16450
+00:05: ttyS0 at I/O 0x3f8 (irq = 4) is a 16450
RAMDISK driver initialized: 16 RAM disks of 16384K size 4096 blocksize
+khelper used greatest stack depth: 2784 bytes left
input: Macintosh mouse button emulation as /class/input/input0
-PNP: No PS/2 controller found. Probing ports directly.
+PNP: PS/2 Controller [PNP0303:KBD,PNP0f13:MOU] at 0x60,0x64 irq 1,12
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
mice: PS/2 mouse device common for all mice
@@ -182,17 +209,15 @@
NET: Registered protocol family 1
NET: Registered protocol family 17
Using IPI No-Shortcut mode
- Magic number: 3:809:855
+ Magic number: 3:912:956
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
Freeing unused kernel memory: 568k freed
Write protecting the kernel read-only data: 916k
-Clocksource tsc unstable (delta = 542506452 ns)
-Time: pit clocksource has been installed.
+input: ImExPS/2 Generic Explorer Mouse as /class/input/input2
USB Universal Host Controller Interface driver v3.0
-insmod used greatest stack depth: 2492 bytes left
+insmod used greatest stack depth: 2340 bytes left
ohci_hcd: 2006 August 04 USB 1.1 'Open' Host Controller (OHCI) Driver
-insmod used greatest stack depth: 2400 bytes left
-input: ImExPS/2 Generic Explorer Mouse as /class/input/input2
+insmod used greatest stack depth: 2312 bytes left
SCSI subsystem initialized
libata version 2.21 loaded.
ata_piix 0000:00:01.1: version 2.11
@@ -220,28 +245,25 @@
scsi 1:0:0:0: CD-ROM QEMU QEMU CD-ROM 0.9. PQ: 0 ANSI: 5
insmod used greatest stack depth: 876 bytes left
device-mapper: ioctl: 4.11.0-ioctl (2006-10-12) initialised: dm-devel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
-EXT3-fs: INFO: recovery required on readonly filesystem.
-EXT3-fs: write access will be enabled during recovery.
kjournald starting. Commit interval 5 seconds
-EXT3-fs: dm-0: orphan cleanup on readonly fs
-ext3_orphan_cleanup: deleting unreferenced inode 2254377
-EXT3-fs: dm-0: 1 orphan inode deleted
-EXT3-fs: recovery complete.
EXT3-fs: mounted filesystem with ordered data mode.
SELinux: Disabled at runtime.
SELinux: Unregistering netfilter hooks
-audit(1186699726.899:2): selinux=0 auid=4294967295
+audit(1186700148.939:2): selinux=0 auid=4294967295
sd 0:0:0:0: Attached scsi generic sg0 type 0
scsi 1:0:0:0: Attached scsi generic sg1 type 5
sr0: scsi3-mmc drive: 4x/4x xa/form2 tray
Uniform CD-ROM driver Revision: 3.20
sr 1:0:0:0: Attached scsi CD-ROM sr0
-ne2k-pci.c:v1.03 9/22/2003 D. Becker/P. Gortmaker
-PCI: setting IRQ 11 as level-triggered
-PCI: Found IRQ 11 for device 0000:00:03.0
-eth0: RealTek RTL-8029 found at 0xc100, IRQ 11, 52:54:00:12:34:56.
piix4_smbus 0000:00:01.3: Found 0000:00:01.3 device
+ne2k-pci.c:v1.03 9/22/2003 D. Becker/P. Gortmaker
+ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 10
+ACPI: PCI Interrupt 0000:00:03.0[A] -> Link [LNKC] -> GSI 10 (level, low) -> IRQ 10
+eth0: RealTek RTL-8029 found at 0xc100, IRQ 10, 52:54:00:12:34:56.
+parport_pc 00:04: reported by Plug and Play ACPI
+parport0: PC-style at 0x378, irq 7 [PCSPP,EPP]
FDC 0 is a S82078B
+No dock devices found.
device-mapper: multipath: version 1.0.5 loaded
EXT3 FS on dm-0, internal journal
kjournald starting. Commit interval 5 seconds
[-- Attachment #3: Type: text/plain, Size: 315 bytes --]
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
[-- Attachment #4: Type: text/plain, Size: 186 bytes --]
_______________________________________________
kvm-devel mailing list
kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/kvm-devel
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: kvm very slow
2007-08-09 23:23 ` Matthew Kent
@ 2007-08-10 0:09 ` Matthew Kent
2007-08-10 5:32 ` Ulrich Schreiner
2007-08-10 6:39 ` Ulrich Schreiner
2007-08-16 9:56 ` Avi Kivity
1 sibling, 2 replies; 23+ messages in thread
From: Matthew Kent @ 2007-08-10 0:09 UTC (permalink / raw)
To: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
[-- Attachment #1: Type: text/plain, Size: 2892 bytes --]
[oops sorry. should have included the full dmesg from the bad boot and
cc'd the original poster]
On Thu, 2007-09-08 at 16:23 -0700, Matthew Kent wrote:
> On Wed, 2007-01-08 at 07:22 +0200, Ulrich Schreiner wrote:
> > hi,
> >
> > im using a 64 bit fedora7 system with a quad-core processor to host
> > multiple virtual machines.
> >
>
> literally the exact same setup here
>
> > my current kernel is:
> >
> > Linux testserver 2.6.22.1-27.fc7 #1 SMP Tue Jul 17 17:19:58 EDT 2007
> > x86_64 x86_64 x86_64 GNU/Linux
> >
> > (now there is a 2.6.22.1-33.fc7 to download, but i think it is not the
> > point here).
> >
>
> 2.6.22.1-41.fc7 x86_64 host
>
> > i installed
> >
> > kvm.x86_64: 31-1.fc8
>
> kvm-33
>
> >
> > because of a crash i reported as a bug with the older kvm module.
> >
> > this system starts a F7 image with the following command:
> >
> > /usr/bin/qemu-kvm
> > -net nic,macadr=52.54.00.12.34.57
> > -net tap,script=./ifup.py,ifname=tap0
> > -hda /var/qemu/vm_images/F7image.img
> > -boot c: -m 512 -vnc :2 -k de
> >
> > inside the image there is fedora 7, but a 32bit system.
> >
>
> almost exact same as here except using 32 bit fedora rawhide
> (development) guest running kernel 2.6.23-0.74.rc2.git1.fc8
>
> > almost everything works (reboot hangs), but the system is extremely
> > slow! the clock inside the system is extremely slow: every *virtual*
> > second in the image is about two or more seconds in the *real* world.
>
> and I'm having the exact same issue here. The hardware clock works fine
> (least from the output of /proc/driver/rtc and hwclock) but the system
> time quickly falls behind in the guest, approx 0.5 secs for every 1 real
> second.
>
> No combination of selecting different clocksources in the guest,
> disabling CONFIG_NO_HZ, etc seemed to make any difference. And the fact
> is my fc7 x86_64 install works just great so I doubt its the host.
>
> What I did notice though was ACPI wasn't being enabled by default for
> the 32bit kernel with the message
>
> ACPI: no DMI BIOS year, acpi=force is required to enable ACPI
>
> and that the acpi_pm clocksource the x86_64 guest picked by default,
> which worked fine, was missing. eg:
>
> 2.6.23-0.74.rc2.git1.fc8 i686 default boot:
>
> /sys/devices/system/clocksource/clocksource0/available_clocksource
> pit jiffies tsc
> /sys/devices/system/clocksource/clocksource0/current_clocksource
> pit
>
> 2.6.23-0.74.rc2.git1.fc8 i686 with acpi=force:
>
> /sys/devices/system/clocksource/clocksource0/available_clocksource
> tsc acpi_pm pit jiffies
> /sys/devices/system/clocksource/clocksource0/current_clocksource
> tsc
>
> and now everything seems great, hardware and system time seem 1:1
> again.
>
> Attached is a diff of the dmesg from each boot.
>
> As to why this is...
--
Matthew Kent <mkent-rTVjrLRGJfNWk0Htik3J/w@public.gmane.org>
http://magoazul.com
[-- Attachment #2: dmesg.f7_32bit_default --]
[-- Type: text/plain, Size: 11434 bytes --]
Linux version 2.6.23-0.74.rc2.git1.fc8 (kojibuilder-fbpyxXtnJUxHcw7WmXvZTaw4yJhunYrG28t4la5Gatg@public.gmane.org) (gcc version 4.1.2 20070723 (Red Hat 4.1.2-17)) #1 SMP Tue Aug 7 19:21:07 EDT 2007
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000e8000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000001fff0000 (usable)
BIOS-e820: 000000001fff0000 - 0000000020000000 (ACPI data)
BIOS-e820: 00000000fffc0000 - 0000000100000000 (reserved)
0MB HIGHMEM available.
511MB LOWMEM available.
Using x86 segment limits to approximate NX protection
Entering add_active_range(0, 0, 131056) 0 entries of 256 used
Zone PFN ranges:
DMA 0 -> 4096
Normal 4096 -> 131056
HighMem 131056 -> 131056
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
0: 0 -> 131056
On node 0 totalpages: 131056
DMA zone: 56 pages used for memmap
DMA zone: 0 pages reserved
DMA zone: 4040 pages, LIFO batch:0
Normal zone: 1735 pages used for memmap
Normal zone: 125225 pages, LIFO batch:31
HighMem zone: 0 pages used for memmap
Movable zone: 0 pages used for memmap
DMI not present or invalid.
Using APIC driver default
ACPI: RSDP 000FA670, 0014 (r0 QEMU )
ACPI: RSDT 1FFF0000, 002C (r1 QEMU QEMURSDT 1 QEMU 1)
ACPI: FACP 1FFF002C, 0074 (r1 QEMU QEMUFACP 1 QEMU 1)
ACPI: DSDT 1FFF0100, 0832 (r1 BXPC BXDSDT 1 INTL 20060912)
ACPI: FACS 1FFF00C0, 0040
ACPI: APIC 1FFF0938, 0040 (r1 QEMU QEMUAPIC 1 QEMU 1)
ACPI: no DMI BIOS year, acpi=force is required to enable ACPI
ACPI: Disabling ACPI support
Allocating PCI resources starting at 30000000 (gap: 20000000:dffc0000)
swsusp: Registered nosave memory region: 000000000009f000 - 00000000000a0000
swsusp: Registered nosave memory region: 00000000000a0000 - 00000000000e8000
swsusp: Registered nosave memory region: 00000000000e8000 - 0000000000100000
Built 1 zonelists in Zone order. Total pages: 129265
Kernel command line: ro root=/dev/VolGroup00/LogVol00 console=tty0 console=ttyS0 debug
Found and enabled local APIC!
mapped APIC to ffffb000 (fee00000)
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Initializing CPU#0
CPU 0 irqstacks, hard=c0817000 soft=c07f7000
PID hash table entries: 2048 (order: 11, 8192 bytes)
Detected 2400.636 MHz processor.
Console: colour VGA+ 80x25
console [tty0] enabled
console [ttyS0] enabled
Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
... MAX_LOCKDEP_SUBCLASSES: 8
... MAX_LOCK_DEPTH: 30
... MAX_LOCKDEP_KEYS: 2048
... CLASSHASH_SIZE: 1024
... MAX_LOCKDEP_ENTRIES: 8192
... MAX_LOCKDEP_CHAINS: 16384
... CHAINHASH_SIZE: 8192
memory used by lock dependency info: 1024 kB
per task-struct memory footprint: 1680 bytes
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 504980k/524224k available (2241k kernel code, 18676k reserved, 1216k data, 568k init, 0k highmem)
virtual kernel memory layout:
fixmap : 0xffc53000 - 0xfffff000 (3760 kB)
pkmap : 0xff800000 - 0xffc00000 (4096 kB)
vmalloc : 0xe0800000 - 0xff7fe000 ( 495 MB)
lowmem : 0xc0000000 - 0xdfff0000 ( 511 MB)
.init : 0xc0766000 - 0xc07f4000 ( 568 kB)
.data : 0xc063074d - 0xc0760a44 (1216 kB)
.text : 0xc0400000 - 0xc063074d (2241 kB)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
SLUB: Genslabs=22, HWalign=64, Order=0-1, MinObjects=4, CPUs=1, Nodes=1
Calibrating delay using timer specific routine.. 9619.97 BogoMIPS (lpj=4809986)
Security Framework v1.0.0 initialized
SELinux: Initializing.
SELinux: Starting in permissive mode
selinux_register_security: Registering secondary module capability
Capability LSM initialized as secondary
Mount-cache hash table entries: 512
CPU: After generic identify, caps: 078bfbfd 2191abfd 00000000 00000000 00000001 00000000 00000000 00000000
CPU: L1 I cache: 8K
CPU: L2 cache: 128K
CPU: After all inits, caps: 078bf3fd 2191abfd 00000000 00000040 00000001 00000000 00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
Compat vDSO mapped to ffffe000.
Checking 'hlt' instruction... OK.
SMP alternatives: switching to UP code
Freeing SMP alternatives: 12k freed
CPU0: Intel QEMU Virtual CPU version 0.9.0 stepping 03
SMP motherboard not detected.
Brought up 1 CPUs
sizeof(vma)=84 bytes
sizeof(page)=56 bytes
sizeof(inode)=604 bytes
sizeof(dentry)=160 bytes
sizeof(ext3inode)=856 bytes
sizeof(buffer_head)=56 bytes
sizeof(skbuff)=180 bytes
sizeof(task_struct)=3376 bytes
khelper used greatest stack depth: 3160 bytes left
Booting paravirtualized kernel on bare hardware
khelper used greatest stack depth: 3084 bytes left
Time: 22:48:42 Date: 07/09/107
NET: Registered protocol family 16
PCI: PCI BIOS revision 2.10 entry at 0xfa130, last bus=0
PCI: Using configuration type 1
Setting up standard PCI resources
khelper used greatest stack depth: 2928 bytes left
ACPI: Interpreter disabled.
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI: disabled
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
PCI: Probing PCI hardware
PCI: Probing PCI hardware (bus 00)
* Found PM-Timer Bug on the chipset. Due to workarounds for a bug,
* this clock source is slow. Consider trying other clock sources
PCI quirk: region b000-b03f claimed by PIIX4 ACPI
PCI quirk: region b100-b10f claimed by PIIX4 SMB
PCI: Using IRQ router PIIX/ICH [8086/7000] at 0000:00:01.0
NetLabel: Initializing
NetLabel: domain hash size = 128
NetLabel: protocols = UNLABELED CIPSOv4
NetLabel: unlabeled traffic allowed by default
Time: tsc clocksource has been installed.
NET: Registered protocol family 2
IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
TCP established hash table entries: 16384 (order: 7, 655360 bytes)
TCP bind hash table entries: 16384 (order: 7, 589824 bytes)
TCP: Hash tables configured (established 16384 bind 16384)
TCP reno registered
checking if image is initramfs... it is
Freeing initrd memory: 3801k freed
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16ac)
audit: initializing netlink socket (disabled)
audit(1186699721.596:1): initialized
Total HugeTLB memory allocated, 0
khelper used greatest stack depth: 2888 bytes left
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
SELinux: Registering netfilter hooks
ksign: Installing public key data
Loading keyring
- Added public key 5890683852E154E7
- User ID: Red Hat, Inc. (Kernel Module GPG key)
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
Limiting direct PCI/PCI transfers.
PCI: PIIX3: Enabling Passive Release on 0000:00:01.0
Activating ISA DMA hang workarounds.
Boot video device is 0000:00:02.0
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
khelper used greatest stack depth: 2860 bytes left
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Generic RTC Driver v1.07
Non-volatile memory driver v1.2
Linux agpgart interface v0.102
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16450
RAMDISK driver initialized: 16 RAM disks of 16384K size 4096 blocksize
input: Macintosh mouse button emulation as /class/input/input0
PNP: No PS/2 controller found. Probing ports directly.
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
mice: PS/2 mouse device common for all mice
input: AT Translated Set 2 keyboard as /class/input/input1
usbcore: registered new interface driver hiddev
usbcore: registered new interface driver usbhid
drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver
TCP cubic registered
Initializing XFRM netlink socket
NET: Registered protocol family 1
NET: Registered protocol family 17
Using IPI No-Shortcut mode
Magic number: 3:809:855
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
Freeing unused kernel memory: 568k freed
Write protecting the kernel read-only data: 916k
Clocksource tsc unstable (delta = 542506452 ns)
Time: pit clocksource has been installed.
USB Universal Host Controller Interface driver v3.0
insmod used greatest stack depth: 2492 bytes left
ohci_hcd: 2006 August 04 USB 1.1 'Open' Host Controller (OHCI) Driver
insmod used greatest stack depth: 2400 bytes left
input: ImExPS/2 Generic Explorer Mouse as /class/input/input2
SCSI subsystem initialized
libata version 2.21 loaded.
ata_piix 0000:00:01.1: version 2.11
PCI: Setting latency timer of device 0000:00:01.1 to 64
scsi0 : ata_piix
scsi1 : ata_piix
ata1: PATA max MWDMA2 cmd 0x000101f0 ctl 0x000103f6 bmdma 0x0001c000 irq 14
ata2: PATA max MWDMA2 cmd 0x00010170 ctl 0x00010376 bmdma 0x0001c008 irq 15
ata1.00: ATA-7: QEMU HARDDISK, 0.9.0, max UDMA/100
ata1.00: 20971520 sectors, multi 16: LBA48
ata1.00: configured for MWDMA2
ata2.00: ATAPI: QEMU CD-ROM, 0.9.0, max UDMA/100
ata2.00: configured for MWDMA2
scsi 0:0:0:0: Direct-Access ATA QEMU HARDDISK 0.9. PQ: 0 ANSI: 5
sd 0:0:0:0: [sda] 20971520 512-byte hardware sectors (10737 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sd 0:0:0:0: [sda] 20971520 512-byte hardware sectors (10737 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sda: sda1 sda2
sd 0:0:0:0: [sda] Attached SCSI disk
scsi 1:0:0:0: CD-ROM QEMU QEMU CD-ROM 0.9. PQ: 0 ANSI: 5
insmod used greatest stack depth: 876 bytes left
device-mapper: ioctl: 4.11.0-ioctl (2006-10-12) initialised: dm-devel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
EXT3-fs: INFO: recovery required on readonly filesystem.
EXT3-fs: write access will be enabled during recovery.
kjournald starting. Commit interval 5 seconds
EXT3-fs: dm-0: orphan cleanup on readonly fs
ext3_orphan_cleanup: deleting unreferenced inode 2254377
EXT3-fs: dm-0: 1 orphan inode deleted
EXT3-fs: recovery complete.
EXT3-fs: mounted filesystem with ordered data mode.
SELinux: Disabled at runtime.
SELinux: Unregistering netfilter hooks
audit(1186699726.899:2): selinux=0 auid=4294967295
sd 0:0:0:0: Attached scsi generic sg0 type 0
scsi 1:0:0:0: Attached scsi generic sg1 type 5
sr0: scsi3-mmc drive: 4x/4x xa/form2 tray
Uniform CD-ROM driver Revision: 3.20
sr 1:0:0:0: Attached scsi CD-ROM sr0
ne2k-pci.c:v1.03 9/22/2003 D. Becker/P. Gortmaker
PCI: setting IRQ 11 as level-triggered
PCI: Found IRQ 11 for device 0000:00:03.0
eth0: RealTek RTL-8029 found at 0xc100, IRQ 11, 52:54:00:12:34:56.
piix4_smbus 0000:00:01.3: Found 0000:00:01.3 device
FDC 0 is a S82078B
device-mapper: multipath: version 1.0.5 loaded
EXT3 FS on dm-0, internal journal
kjournald starting. Commit interval 5 seconds
EXT3 FS on sda1, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
Adding 1048568k swap on /dev/VolGroup00/LogVol01. Priority:-1 extents:1 across:1048568k
[-- Attachment #3: Type: text/plain, Size: 315 bytes --]
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
[-- Attachment #4: Type: text/plain, Size: 186 bytes --]
_______________________________________________
kvm-devel mailing list
kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/kvm-devel
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: kvm very slow
2007-08-10 0:09 ` Matthew Kent
@ 2007-08-10 5:32 ` Ulrich Schreiner
2007-08-10 6:39 ` Ulrich Schreiner
1 sibling, 0 replies; 23+ messages in thread
From: Ulrich Schreiner @ 2007-08-10 5:32 UTC (permalink / raw)
To: Matthew Kent; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
Matthew, your the hero of the day!
with "acpi=force" in the guest the clock ticks correct.
> ACPI: no DMI BIOS year, acpi=force is required to enable ACPI
is it possible to use another bios where the acpi=force switch is not
needed? or to fix the bios (i think kvm uses it's own bios, not the
original qemu-bios)
Am Donnerstag, den 09.08.2007, 17:09 -0700 schrieb Matthew Kent:
> [oops sorry. should have included the full dmesg from the bad boot and
> cc'd the original poster]
>
> On Thu, 2007-09-08 at 16:23 -0700, Matthew Kent wrote:
> > On Wed, 2007-01-08 at 07:22 +0200, Ulrich Schreiner wrote:
> > > hi,
> > >
> > > im using a 64 bit fedora7 system with a quad-core processor to host
> > > multiple virtual machines.
> > >
> >
> > literally the exact same setup here
> >
> > > my current kernel is:
> > >
> > > Linux testserver 2.6.22.1-27.fc7 #1 SMP Tue Jul 17 17:19:58 EDT 2007
> > > x86_64 x86_64 x86_64 GNU/Linux
> > >
> > > (now there is a 2.6.22.1-33.fc7 to download, but i think it is not the
> > > point here).
> > >
> >
> > 2.6.22.1-41.fc7 x86_64 host
> >
> > > i installed
> > >
> > > kvm.x86_64: 31-1.fc8
> >
> > kvm-33
> >
> > >
> > > because of a crash i reported as a bug with the older kvm module.
> > >
> > > this system starts a F7 image with the following command:
> > >
> > > /usr/bin/qemu-kvm
> > > -net nic,macadr=52.54.00.12.34.57
> > > -net tap,script=./ifup.py,ifname=tap0
> > > -hda /var/qemu/vm_images/F7image.img
> > > -boot c: -m 512 -vnc :2 -k de
> > >
> > > inside the image there is fedora 7, but a 32bit system.
> > >
> >
> > almost exact same as here except using 32 bit fedora rawhide
> > (development) guest running kernel 2.6.23-0.74.rc2.git1.fc8
> >
> > > almost everything works (reboot hangs), but the system is extremely
> > > slow! the clock inside the system is extremely slow: every *virtual*
> > > second in the image is about two or more seconds in the *real* world.
> >
> > and I'm having the exact same issue here. The hardware clock works fine
> > (least from the output of /proc/driver/rtc and hwclock) but the system
> > time quickly falls behind in the guest, approx 0.5 secs for every 1 real
> > second.
> >
> > No combination of selecting different clocksources in the guest,
> > disabling CONFIG_NO_HZ, etc seemed to make any difference. And the fact
> > is my fc7 x86_64 install works just great so I doubt its the host.
> >
> > What I did notice though was ACPI wasn't being enabled by default for
> > the 32bit kernel with the message
> >
> > ACPI: no DMI BIOS year, acpi=force is required to enable ACPI
> >
> > and that the acpi_pm clocksource the x86_64 guest picked by default,
> > which worked fine, was missing. eg:
> >
> > 2.6.23-0.74.rc2.git1.fc8 i686 default boot:
> >
> > /sys/devices/system/clocksource/clocksource0/available_clocksource
> > pit jiffies tsc
> > /sys/devices/system/clocksource/clocksource0/current_clocksource
> > pit
> >
> > 2.6.23-0.74.rc2.git1.fc8 i686 with acpi=force:
> >
> > /sys/devices/system/clocksource/clocksource0/available_clocksource
> > tsc acpi_pm pit jiffies
> > /sys/devices/system/clocksource/clocksource0/current_clocksource
> > tsc
> >
> > and now everything seems great, hardware and system time seem 1:1
> > again.
> >
> > Attached is a diff of the dmesg from each boot.
> >
> > As to why this is...
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: kvm very slow
2007-08-10 0:09 ` Matthew Kent
2007-08-10 5:32 ` Ulrich Schreiner
@ 2007-08-10 6:39 ` Ulrich Schreiner
1 sibling, 0 replies; 23+ messages in thread
From: Ulrich Schreiner @ 2007-08-10 6:39 UTC (permalink / raw)
Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
the system is now MUCH faster! it boots really fast, i think, in the
init-scripts there are much "sleep x", and every "x" were "2*x" in
reality.
other tasks are also much faster
i'm happy now :-)
although i cannot reboot ... (it hangs after halted), but that is
another thread.
Am Donnerstag, den 09.08.2007, 17:09 -0700 schrieb Matthew Kent:
> [oops sorry. should have included the full dmesg from the bad boot and
> cc'd the original poster]
>
> On Thu, 2007-09-08 at 16:23 -0700, Matthew Kent wrote:
> > On Wed, 2007-01-08 at 07:22 +0200, Ulrich Schreiner wrote:
> > > hi,
> > >
> > > im using a 64 bit fedora7 system with a quad-core processor to host
> > > multiple virtual machines.
> > >
> >
> > literally the exact same setup here
> >
> > > my current kernel is:
> > >
> > > Linux testserver 2.6.22.1-27.fc7 #1 SMP Tue Jul 17 17:19:58 EDT 2007
> > > x86_64 x86_64 x86_64 GNU/Linux
> > >
> > > (now there is a 2.6.22.1-33.fc7 to download, but i think it is not the
> > > point here).
> > >
> >
> > 2.6.22.1-41.fc7 x86_64 host
> >
> > > i installed
> > >
> > > kvm.x86_64: 31-1.fc8
> >
> > kvm-33
> >
> > >
> > > because of a crash i reported as a bug with the older kvm module.
> > >
> > > this system starts a F7 image with the following command:
> > >
> > > /usr/bin/qemu-kvm
> > > -net nic,macadr=52.54.00.12.34.57
> > > -net tap,script=./ifup.py,ifname=tap0
> > > -hda /var/qemu/vm_images/F7image.img
> > > -boot c: -m 512 -vnc :2 -k de
> > >
> > > inside the image there is fedora 7, but a 32bit system.
> > >
> >
> > almost exact same as here except using 32 bit fedora rawhide
> > (development) guest running kernel 2.6.23-0.74.rc2.git1.fc8
> >
> > > almost everything works (reboot hangs), but the system is extremely
> > > slow! the clock inside the system is extremely slow: every *virtual*
> > > second in the image is about two or more seconds in the *real* world.
> >
> > and I'm having the exact same issue here. The hardware clock works fine
> > (least from the output of /proc/driver/rtc and hwclock) but the system
> > time quickly falls behind in the guest, approx 0.5 secs for every 1 real
> > second.
> >
> > No combination of selecting different clocksources in the guest,
> > disabling CONFIG_NO_HZ, etc seemed to make any difference. And the fact
> > is my fc7 x86_64 install works just great so I doubt its the host.
> >
> > What I did notice though was ACPI wasn't being enabled by default for
> > the 32bit kernel with the message
> >
> > ACPI: no DMI BIOS year, acpi=force is required to enable ACPI
> >
> > and that the acpi_pm clocksource the x86_64 guest picked by default,
> > which worked fine, was missing. eg:
> >
> > 2.6.23-0.74.rc2.git1.fc8 i686 default boot:
> >
> > /sys/devices/system/clocksource/clocksource0/available_clocksource
> > pit jiffies tsc
> > /sys/devices/system/clocksource/clocksource0/current_clocksource
> > pit
> >
> > 2.6.23-0.74.rc2.git1.fc8 i686 with acpi=force:
> >
> > /sys/devices/system/clocksource/clocksource0/available_clocksource
> > tsc acpi_pm pit jiffies
> > /sys/devices/system/clocksource/clocksource0/current_clocksource
> > tsc
> >
> > and now everything seems great, hardware and system time seem 1:1
> > again.
> >
> > Attached is a diff of the dmesg from each boot.
> >
> > As to why this is...
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: kvm very slow
2007-08-09 23:23 ` Matthew Kent
2007-08-10 0:09 ` Matthew Kent
@ 2007-08-16 9:56 ` Avi Kivity
1 sibling, 0 replies; 23+ messages in thread
From: Avi Kivity @ 2007-08-16 9:56 UTC (permalink / raw)
To: Matthew Kent; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
Matthew Kent wrote:
> ACPI: no DMI BIOS year, acpi=force is required to enable ACPI
>
>
Well, we now have the bios in kvm-userspace.git (under bios/). If
someone wants a go at adding DMI to the bios, it's waiting for you.
--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2007-08-16 9:56 UTC | newest]
Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-01 5:22 kvm very slow Ulrich Schreiner
2007-08-01 16:41 ` Avi Kivity
[not found] ` <46B0B7D0.9080203-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-08-01 19:45 ` Ulrich Schreiner
[not found] ` <46B0E2F0.1070701-sZDnKEZIvs8b1SvskN2V4Q@public.gmane.org>
2007-08-02 8:24 ` Avi Kivity
[not found] ` <46B194C5.5040508-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-08-02 19:31 ` Ulrich Schreiner
2007-08-07 7:20 ` Ulrich Schreiner
2007-08-07 7:44 ` Dor Laor
[not found] ` <64F9B87B6B770947A9F8391472E032160D17A0EA-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-08-07 9:43 ` Ulrich Schreiner
2007-08-07 11:32 ` Luca
2007-08-07 11:51 ` Dor Laor
[not found] ` <64F9B87B6B770947A9F8391472E032160D17A197-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-08-07 12:08 ` Luca
[not found] ` <68676e00708070508w3d9e5ab8gd26263c44bf59f0d-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-08-07 12:30 ` Dor Laor
[not found] ` <64F9B87B6B770947A9F8391472E032160D17A1C2-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-08-07 12:50 ` Ulrich Schreiner
2007-08-07 14:38 ` Dong, Eddie
[not found] ` <10EA09EFD8728347A513008B6B0DA77A01E45A1D-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-08-07 14:50 ` Dor Laor
2007-08-07 20:49 ` Luca Tettamanti
[not found] ` <20070807204922.GA27976-sTXFmx6KbOnUXq0IF5SVAZ4oGUkBHcCu@public.gmane.org>
2007-08-08 6:28 ` Ulrich Schreiner
2007-08-07 12:25 ` Ulrich Schreiner
2007-08-09 23:23 ` Matthew Kent
2007-08-10 0:09 ` Matthew Kent
2007-08-10 5:32 ` Ulrich Schreiner
2007-08-10 6:39 ` Ulrich Schreiner
2007-08-16 9:56 ` Avi Kivity
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox