Sure. First of all, you should understand how spin-locks perform horribly on HT processors in this Intel article. Second, note that Win2k basically "spins" in its Idle Thread Loop when one CPU has nothing to do. So therein lies the problem: Win2k's Idle Thread inadvertently uses resources that the other logical CPU could be using. XP, on the other hand, as we know, is HT-aware, so it recognizes the idle loop is running on a logical (HT) cpu and avoids spinning in a manner that consumes resources wanted by the 'active' logical cpu. Win2k has no idea this is an issue and spins away happily, thereby decreasing perf whenever only a single thread is actively running.Originally posted by: VirtualLarry
I'm going to be stubborn here, and ask what exactly 'true support' means.
I think you're missing something: the OS itself is often one (or more) of the threads scheduled. Whether it's due to interrupt processing (which handles preemptive thread scheduling), DPC threads, other kernel threads, or the Idle Thread (if there is nothing else to do), the OS often finds itself the thread running alongside user threads in MP systems. Normally, this isn't a problem, because this kernel work has to be done whether it might slow down the other Logical CPU or not. But in the case of the Idle Thread, any cycles stolen from the "active" Logical CPU are wasted (i.e., 'fake' work that didn't need to be done).But the actual operation of HT, and the possible performance degradation that occurs, depends on the two threads scheduled, and the processor itself, not in any way the OS.
I'm sorry you feel that way.MS's line on requiring XP for HT is marketing FUD designed to push people to upgrade to XP. The only real issue is software licensing, and that has nothing to do with CPU execution efficiency.
I'll admit I have seen the built-in picture viewer crash explorer.exe before. I did not debug into it, though.Hate to tell you, but the bundled ones in XP are nearly just as bad, especially when dealing with malformed data formats.
If you can describe the steps for reproduction of the leak, I can file a bug. Or if you can get Explorer.exe to crash consistently without a plug-in causing it, please let me know and I'll file a bug.Again, hate to tell you, but WinXP's Explorer can do that even without DivX installed, and Explorer.exe has an open-file-handle leak itself, without any dodgy shell extensions loaded. (Yes, even in W2K SP2.)
No, you see INFs don't have enough information to solve the problem. Let's consider a scenario: say Bob wants to install Windows Messenger on a hypothetical "minimal windows" machine. But Windows Messenger requires RTC. RTC requires something else, and so on. The installer that Bob runs MUST know about these dependencies. Currently, this information is not maintained in INFs (or in the registry in any consistent manner), and app installers assume that certain components are guaranteed to be installed and don't even check for them at install/runtime, as unfortunate as that is. So a hypothetical "minimal" Windows installation would be very minimal, and it would be VERY difficult to install anything because you'd be missing too many other components for the components you want to function.That's not a valid excuse here, unfortunately. Most of those user-mode components are already segregated in the installer .INFs.
Again, I'm sorry you feel that way.The simple fact is that MS doesn't give the user the choice, that's all. MS wants to make the choice for them, to force as much of their "crapware" onto the user as possible.
XP Embedded is an entirely different release from XP. Its components were hand-picked to guarantee that nothing relied on dependencies not available in XP Embedded (i.e., self consistency). Software designed to run on XP Embedded is aware of the reduced dependencies, and knows EXACTLY what is and is not guaranteed to be available.As for the compontization of system-level stuff, MS has been selling "Windows Embedded" based on the XP source code base for some time now. It's already componentized. So even if that were the reason for the above, that reason wouldn't be valid any longer.
Note that this is not true with a user-defined system: newly installed software needs a way to learn, at runtime or install time, what is and what is not present on the system. THAT is the technology Microsoft is working on.
EDIT: fixed broken Intel link.