Your best source of information and news about software , hardware and secrets on the internet La migliore fonte di informazioni e notizie su software, hardware e segreti su internet

Vista ARTICLES Vista ARTICOLI TOP 50 TOP 50 Spyware Virus Virus Spyware Vista SOFT Vista SOFT Vista HELP Vista AIUTO

Problems with QueryPerformanceCounter on Windows Server 2003 Multi-Processor Hyper-V guests? Problemi con il QueryPerformanceCounter in Windows Server 2003 Multi-Processor Hyper-V ospiti? Here’s why. Ecco perché.


A friend of mine from another group came to me with a problem he’s been having on some Windows Server 2003 guests. Un mio amico da un altro gruppo è venuto da me con un problema è stato avere su alcuni di Windows Server 2003 ospiti.

They’re doing some nifty stuff with the .NET Si sta facendo alcune cose con nifty. NET Stopwatch() Cronometro () class, and some WPF animations, which uses the classe, e alcune animazioni WPF, che utilizza il QueryPerformanceCounter Win32 API to figure out the timing during the animations.  Apparently, when they run their code in Hyper-V, the animations look sort of… not good. API Win32 per capire i tempi durante le animazioni. Apparentemente, quando si esegue il loro codice di Hyper-V, le animazioni guardare sorta di ... non va bene.

They’re using Windows Server 2003 SP2 x86, which has been allocated two virtual processors. Si sta utilizzando Windows Server 2003 SP2 x86, che è stato attribuito due processori virtuali.

It turns out that our performance guru, Tony Voellm, has already encountered something like this.  From Tony’s Risulta che i nostri risultati guru, Tony Voellm, ha già incontrato qualcosa di simile a questo. Da Tony's blog post post del blog :

The root issue comes about from the Win32 QueryPerformanceCounter function.  By default it uses a time source called the TSC.  This is a CPU time source that essentially counts CPU cycles.  The TSC for each (virtual) processor can be different so there is no guarantee that reading TSC on one processor has anything to do with reading TSC on another processor.  This means back to back reads of TSC on different VP's can actually go backwards. Il problema principale deriva da circa la funzione Win32 QueryPerformanceCounter. Per impostazione predefinita che utilizza una fonte di tempo chiamato il TSC. Questo è un tempo di CPU fonte che conta essenzialmente cicli di CPU. Il TSC per ogni (virtuale) del processore può essere diversa in modo non vi è alcuna garanzia TSC lettura che su un processore ha nulla a che fare con la lettura TSC su un altro processore. Ciò significa back to back di legge su diverse TSC VP può effettivamente andare indietro. Hyper-V guarantees that TSC will not go backwards on a single VP. Hyper-V garantisce che TSC non andare indietro su un unico VP.

The fix for this is to modify the guest’s BOOT.INI file by adding the La correzione per questo è di modificare l'ospite del file BOOT.INI con l'aggiunta del /USEPMTIMER / Usepmtimer switch to your operating system’s boot entry.  This tells the system to use a different timer for QueryPerformanceCounter-related tasks, and should alleviate the problem. passare al sistema operativo della voce di avvio. Questo dice al sistema di utilizzare un altro timer per QueryPerformanceCounter compiti connessi, e dovrebbero alleviare il problema.

Popularity: 1% Popularity: 1%


Written by mikekol. Scritto da mikekol. Read more great feeds at is source Per saperne di più grande al feed è fonte WEBSITE SITO WEB
no comments nessun commento . .
Read more articles on Per saperne di più articoli su Hyper-V RTM Hyper-V RTM and e otherSoftware otherSoftware and e Miscellaneous V Varie V . .

Related articles Articoli correlati

No comments Non ci sono commenti

There are still no comments on this article. Non ci sono ancora commenti su questo articolo.

Leave your comment... Lascia il tuo commento ...

If you want to leave your comment on this article, simply fill out the next form: Se si desidera lasciare il tuo commento su questo articolo, è sufficiente compilare il modulo successivo:




You can use these XHTML tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong> . È possibile utilizzare questi tag XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i > <strike> <strong>.