Another contract change that was introduced in server 2008 R2 was greater than 64 proc support. This has 2 visible changes
- MAXIMUM_PROCESSORS is now meaningless
- If a driver was using the current processor’s index in the affinity mask as an index into their own data structure (such as an array bounded which has MAXIMUM_PROCESSORS elements), while the index will never exceed MAXIMUM_PROCESSORS so you will not go off the end of the array, 2 concurrent threads of execution (be it dispatch routines, DPCs, whatever) can both have the same index but be in different processor groups, thus invalidating the assumption that the index can be used lock free or exclusively or as some type of unique id
d
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Jake Oshins
Sent: Thursday, August 27, 2009 10:16 AM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] Driver contract changes in Win 7
I really doubt that we’d put that in a service pack. We’d have little incentive and quite a bit of risk.
As it happens, this change went it to make life easier on the scheduler in our hypervisor. The hypervisor in Windows Server 2008 (not R2) is not bottlenecked on timer processing. VMWare does (mostly) gang-scheduling, so they won’t really care. It’s only after we did some performance work and broke other bottlenecks that spreading out timer delivery mattered for the hypervisor in Window Server 2008 R2 (Win 7).
–
Jake Oshins
Hyper-V I/O Architect
Windows Kernel Group
This post implies no warranties and confers no rights.
“David R. Cattley” wrote in message news:xxxxx@ntdev…
>
> <mr. oshins>
> 2) Timers may execute on all processors, not just processor zero.
> Thus it’s possible that two different timers execute simultaneously.
> This was never true before.
> </mr.>
>
> Any chance we will see this service-packed into NT6-es prior to Win7?
>
> For what it is worth, I would have considered it a bug in a code
> review to rely on this behavior and since Timers often must
> synchronize with other activity potentially on other processors, it
> seems only vaguely accessable as a ‘behavior’ to be leveraged.
>
> OTOH the new behavior is great. I wish it was so in all revs of the
> OS
>
> Thanks for highlighting these two changes.
>
> Regards,
> Dave Cattley
>
>
—
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer