Quote Originally Posted by FlawleZ View Post
Do you have any documentation on this? Not denying just would like to know exactly how Win7 & Vista are able to discern between logical and physical cores.
Windows XP is SMT aware, as is Windows 2003:

This white paper provides information about support for the Hyper-Threading Technology (HT) in the Microsoft® Windows® family of operating systems. It provides an overview of HT, details of dependencies on BIOS, a description of the Windows operating system license model for HT, details of the support features in Windows XP and the Windows Server 2003 family, and guidelines for application developers on how to take advantage of the features and the performance benefits provided. This paper is intended for BIOS developers, OEM system manufacturers, and Independent Software Vendors (ISVs) that produce multithreaded Windows applications, particularly those that use processor affinity
http://download.microsoft.com/downlo...ad_Windows.doc

This does not mean they were any good at it, Vista is also SMT aware but it also sucked. In windows 7, MS introduced SMT parking (a variation on core parking used in server class OSes): http://www.ditii.com/2009/07/23/wind...on-with-intel/

What this means is, that in lightly threaded applications, windows 7 scheduler attempts to schedule threads per physical core rather than scheduling threads that would share a core. The effect is actually pretty pronounced, as much as 20% performance can be reclaimed in some situations, at least in those that I have been able to measure. How effective this is in the larger scheme of things is uncertain to me, but it is a measurable effect.