qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] win7 bad i/o performance, high insn_emulation and exist


From: Peter Lieven
Subject: Re: [Qemu-devel] win7 bad i/o performance, high insn_emulation and exists
Date: Tue, 21 Feb 2012 15:10:22 +0100
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.23) Gecko/20110921 Thunderbird/3.1.15

On 21.02.2012 14:56, Vadim Rozenfeld wrote:

----- Original Message -----
From: "Peter Lieven"<address@hidden>
To: "Gleb Natapov"<address@hidden>
Cc: address@hidden, address@hidden, address@hidden
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.

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]