[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] TSC in qem[-kvm] 1.1+ and in-kernel irqchip
From: |
Jan Kiszka |
Subject: |
Re: [Qemu-devel] TSC in qem[-kvm] 1.1+ and in-kernel irqchip |
Date: |
Mon, 13 Aug 2012 15:07:14 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 |
On 2012-08-12 11:24, Michael Tokarev wrote:
> On 12.08.2012 12:10, Gleb Natapov wrote:
> []
>> Any chance to bisect it?
>
> The bisecion leads to this commit:
>
> commit 17ee47418e65b1593defb30edbab33ccd47fc1f8
> Merge: 13b0496 5d17c0d
> Author: Jan Kiszka <address@hidden>
> Date: Tue Apr 10 16:26:23 2012 +0200
>
> Merge commit '5d17c0d2df4998598e6002b27b8e47e792899a0f' into
> queues/qemu-merge
>
> Conflicts:
> hw/pc.c
>
> diff --cc Makefile.target
> index 33a7255,1bd25a8..32c8e42
> --- a/Makefile.target
> +++ b/Makefile.target
> @@@ -245,13 -244,8 +245,13 @@@ obj-i386-y += pci-hotplug.o smbios.o wd
> obj-i386-y += debugcon.o multiboot.o
> obj-i386-y += pc_piix.o
> obj-i386-y += pc_sysfw.o
> - obj-i386-$(CONFIG_KVM) += kvm/clock.o kvm/apic.o kvm/i8259.o kvm/ioapic.o
> + obj-i386-$(CONFIG_KVM) += kvm/clock.o kvm/apic.o kvm/i8259.o kvm/ioapic.o
> kvm/i8254.o
> obj-i386-$(CONFIG_SPICE) += qxl.o qxl-logger.o qxl-render.o
> +obj-i386-y += testdev.o
> +obj-i386-y += acpi.o acpi_piix4.o
> +
> +obj-i386-y += i8254_common.o i8254.o
> +obj-i386-$(CONFIG_KVM_DEVICE_ASSIGNMENT) += device-assignment.o
>
> # shared objects
> obj-ppc-y = ppc.o ppc_booke.o
> diff --cc hw/pc.c
> index 74c19b9,bb9867b..feb6ef3
> --- a/hw/pc.c
> +++ b/hw/pc.c
> @@@ -1116,8 -1118,12 +1122,12 @@@ void pc_basic_device_init(ISABus *isa_b
>
> qemu_register_boot_set(pc_boot_set, *rtc_state);
>
> - pit = pit_init(isa_bus, 0x40, pit_isa_irq, pit_alt_irq);
> + if (kvm_irqchip_in_kernel()) {
> + pit = kvm_pit_init(isa_bus, 0x40);
> + } else {
> + pit = pit_init(isa_bus, 0x40, pit_isa_irq, pit_alt_irq);
> + }
> - if (hpet) {
> + if (hpet && !(kvm_enabled() && kvm_irqchip_in_kernel())) {
> /* connect PIT to output control line of the HPET */
> qdev_connect_gpio_out(hpet, 0, qdev_get_gpio_in(&pit->qdev, 0));
> }
>
>
>
> Note this commit itself talks about pit and irqchip.
> But I don't know what does it mean.
>
> Cc'ing Jan for help. The short story: tsc timer calibration
> broke in 1.1+ with in-kernel irqchip (only) for several
> apps (seabios and grub are two examples), the time is ticking
> about 100 times faster. In grub the timer is calibrated
> using pit. The above commit is the result of bisection.
Did the versions you tested include the commit 0cdd3d1444 (kvm: i8254:
Fix conversion of in-kernel to userspace state)?
Jan
--
Siemens AG, Corporate Technology, CT RTC ITP SDP-DE
Corporate Competence Center Embedded Linux
- [Qemu-devel] TSC in qem[-kvm] 1.1+ and in-kernel irqchip, Michael Tokarev, 2012/08/09
- Re: [Qemu-devel] TSC in qem[-kvm] 1.1+ and in-kernel irqchip, Marcelo Tosatti, 2012/08/09
- Re: [Qemu-devel] TSC in qem[-kvm] 1.1+ and in-kernel irqchip, Gleb Natapov, 2012/08/10
- Re: [Qemu-devel] TSC in qem[-kvm] 1.1+ and in-kernel irqchip, Michael Tokarev, 2012/08/10
- Re: [Qemu-devel] TSC in qem[-kvm] 1.1+ and in-kernel irqchip, Gleb Natapov, 2012/08/12
- Re: [Qemu-devel] TSC in qem[-kvm] 1.1+ and in-kernel irqchip, Michael Tokarev, 2012/08/12
- Re: [Qemu-devel] TSC in qem[-kvm] 1.1+ and in-kernel irqchip,
Jan Kiszka <=
- Re: [Qemu-devel] TSC in qem[-kvm] 1.1+ and in-kernel irqchip, Michael Tokarev, 2012/08/13
- Re: [Qemu-devel] TSC in qem[-kvm] 1.1+ and in-kernel irqchip, Jan Kiszka, 2012/08/13
- [Qemu-devel] [PATCH uq/master] kvm: i8254: Finish time conversion fix, Jan Kiszka, 2012/08/13
- Re: [Qemu-devel] [PATCH uq/master] kvm: i8254: Finish time conversion fix, Michael Tokarev, 2012/08/13
- Re: [Qemu-devel] [PATCH uq/master] kvm: i8254: Finish time conversion fix, Jan Kiszka, 2012/08/14