So, basically, it doesn't answer the question of what is ACTUALLY implemented in the Windows scheduler?
Nope (unless XP happens to work exactly the same as theirs).
As I've said before, none of the differences detailed actually perform differently when there are only two logical processors. So, point 1, untrue.
I think you just misunderstood the paper then.
Probably useless for me to try and explain it in a forum post then, but anyway, here's the short version:
HT disabled:
1 thread runs on the physical core at a time. The thread gets full use of all cache, execution resources etc.
HT enabled:
2 threads run on the physical core at a time. Certain buffers are partitioned, where each thread gets half the buffers. The instructions of both threads will be competing for the execution resources... the cache will be shared between both threads etc.
There are cases where this effectively reduces performance of both threads (eg competing for cache makes the effective memory latency go up exponentially and both threads end up slower).
Windows 2000 is not aware that such cases exist, since its scheduler was aimed purely at physical CPUs, where no resource sharing took place.
With a HT-aware scheduler, the OS can choose to remove one of the competing threads, and either run the idle thread while the other thread gets full access to the resources (effectively the same as HT disabled, apart from the physical aspect of the partitioned buffers in the CPU, which has virtually no effect on performance, since Pentium 4 is quite overdimensioned in this area), or it can find a thread that doesn't compete for resources as much.
The result:
In Windows 2000 there are various real-world scenarios where performance drops 20-30% with HT enabled.
In Windows XP, these exact same scenarios will see virtually no performance difference between HT enabled or disabled.
So Windows 2000 gives you the pros and the cons of HT and the sharing of resources.
Windows XP gives you the pros, but pretty much none of the cons.
Intel makes recommendations for turning off Hyper-Threading in Windows Vista as well. How is this different?
Erm, no. Re-read the link. XP and Vista are in the "HT-optimized" list.