----- Original Message ----- From: "Peter Lieven" <pl@xxxxxxx> To: "Vadim Rozenfeld" <vrozenfe@xxxxxxxxxx> Cc: qemu-devel@xxxxxxxxxx, kvm@xxxxxxxxxxxxxxx, "Gleb Natapov" <gleb@xxxxxxxxxx> Sent: Tuesday, February 21, 2012 4:10:22 PM Subject: Re: win7 bad i/o performance, high insn_emulation and exists On 21.02.2012 14:56, Vadim Rozenfeld wrote: > > ----- Original Message ----- > From: "Peter Lieven"<pl@xxxxxxx> > To: "Gleb Natapov"<gleb@xxxxxxxxxx> > Cc: qemu-devel@xxxxxxxxxx, kvm@xxxxxxxxxxxxxxx, vrozenfe@xxxxxxxxxx > Sent: Tuesday, February 21, 2012 2:05:25 PM > Subject: Re: win7 bad i/o performance, high insn_emulation and exists > > On 21.02.2012 12:46, Gleb Natapov wrote: >> On Tue, Feb 21, 2012 at 12:16:16PM +0100, Peter Lieven wrote: >>> On 21.02.2012 12:00, Gleb Natapov wrote: >>>> On Tue, Feb 21, 2012 at 11:59:23AM +0100, Peter Lieven wrote: >>>>> On 21.02.2012 11:56, Gleb Natapov wrote: >>>>>> On Tue, Feb 21, 2012 at 11:50:47AM +0100, Peter Lieven wrote: >>>>>>>> I hope it will make Windows use TSC instead, but you can't be sure >>>>>>>> about anything with Windows :( >>>>>>> Whatever it does now it eates more CPU has almost equal >>>>>>> number of exits and throughput is about the same (15MB/s). >>>>>>> If pmtimer is at 0xb008 it still reads it like hell. >>>>>>> >>>>>>> I checked with bcedit /v that useplatformclock is set to "No". >>>>>> Yeah, today I noticed that it is likely virtio drivers that hammer >>>>>> on PM timer (at least rip of the instruction that access it is >>>>>> very close to rip of the instruction that access virtio pio). >>>>>> Vadim, Windows driver developer, is CCed. >>>>> Ok, I will switch to IDE and e1000 to confirm this? Or does it not >>>>> make sense? >>>>> >>>> It make perfect sense! Please try it. >>> ~10MB/s. still a lot of 0xb008 reads. >>> > [VR] > Could it be that you have Driver Verifier running in you system? > unfortunately not. [VR] Then could you try booting into "Safe Mode"? i found the following in an old knowledge base article (http://support.microsoft.com/kb/938448): "Only Windows Server 2003 with Service Pack 2 uniprocessor ACPI HALs use *PMTIMER* for QPC by default. Multiprocessor ACPI HALs will use *PMTIMER* only if *USE_PLATFORM_CLOCK *flag is set by the BIOS or if the */usepmtimer *boot.ini option is used. Other HAL types don’t support *PMTIMER* and will use *TSC* by default for QPC By default, Windows Server 2003 Service Pack 2 (SP2) uses the PM timer for all Advanced Configuration and Power Interface (ACPI) HALs unless one of the following conditions aretrue: * The check process to determine whether the BIOS supports the APIC or ACPI HALs fails. * * Note:* If the BIOS does not support the ACPI HAL, contact the original equipment manufacturer to determine whether a BIOS update is available that will resolve the problem. If a BIOS update is not available, you must use the PM timer by using the */usepmtimer* switch. If you are not running Windows Server 2003 SP2, you must force the AMD computer to use the PM timer by using the */usepmtimer* switch. *Note* The decision to use the PM timer or the TSC timer is made during a check that is performed at startup to query the BIOS and to determine whether the BIOS will support the PM timer functions. This check is not completely accurate on AMD chipsets. Therefore, you must use the */usepmtimer* switch. In Windows Server 2003 SP2, this section of code was rewritten. Therefore, the correct performance monitor data appears on AMD chipsets that have Windows Server 2003 SP2 installed, and you do not have to use the */usepmtimer* switch. For more information about ACPI and APCI hardware support, click the following article number to view the article in the Microsoft Knowledge Base: 309283 <http://support.microsoft.com/kb/309283> HAL options after Windows XP or Windows Server 2003 Setup The third-party products that this article discusses are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, about the performance or reliability of these products." - so it seems windows prefers pmtimer over tsc. has anyone an idea/hack to make the acpi_pm timer fail without disabling acpi completely? thanks, peter -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html