Does Windows know the difference between a physical core and a virtual core when it comes to scheduling threads? If there's, let's say a dual core processor with SMT (2 physical cores, 4 virtual cores) and there's a heavy duty thread taking up most of the resources on on core, and then another heavy duty thread starts up, how would it know that the 2nd thread would be best served on the 2nd physical core, and not on the 2nd virtual core of the 1st physical core, where it would fight with the first thread for resources?
I would assume that it doesn't know, and this is one of the reasons why some games show worse performance with Nehalem processors when SMT is turned on.
I would assume that it doesn't know, and this is one of the reasons why some games show worse performance with Nehalem processors when SMT is turned on.