[ntp:hackers] [ntp:questions] Dual-core systems - AMD - Windows Vista
David L. Mills
mills at udel.edu
Sun Dec 2 06:10:13 GMT 2007
Danny,
I'm not sure what your point is. There is no point whatsoever to
synchronize multiple CPUs the way I did with Alpha. This is a physics
issue; there are a number of CPU oscillators and a need to synchronize
them. My point is that they have to be synchronized since it is not
possible to determine a priori which one gets to read the tick counter
and interpolation counter.
I see you have posed this issue on the questions group. Please decouple
this group and communicate on the traditional hackers/newsgroup lists.
Daved
Danny Mayer wrote:
> Dave,
>
> While I would agree with you in general, we don't have any real idea
> what the Windows code is doing whether or not it is a uniprocessor or
> multiprocessor. I very much doubt that they duplicated your work though
> I would think that it's very important for the CPU's to keep each other
> in close synch in order for threading to work properly. I can say that
> at least with threading they have gotten it right and done a better job
> than almost every other O/S that I know. I doubt that they could do that
> if the CPU's were not properly synchronized.
>
> Danny
>
> David L. Mills wrote:
>
>> David,
>>
>> The multiple-CPU nanokernel code that left here and is in the Alpha
>> kernel assumes each CPU has an individual cycle counter and the timer
>> interupts are vectored to a designated CPU. There is a data structure
>> associated with each CPU that holds the measured current cycle counter
>> scaling and offset, which is updated once each second by interprocessor
>> interrrupt. A call to read the system clock lands on a j-random CPU,
>> which reads the global time maintained by timer interrupts and
>> interpolates according to the current CPU values.
>>
>> I don't know if Vista attempts to provide granularity within the tick;
>> but if it does, I would expect it to use a similar strategy.
>>
>> Dave
>
More information about the hackers
mailing list