It was described in several different sources (among others I belive you can
find it in Richter's book and Russinovich's book). For online link, check
I don't have C sample of setting ICR. It could only be done in kernel
assembler). If you are interesting in information about ICR on X86 Intel
processor you can see it in developers Intel Manual. (btw, Itanium uses
"William Stacey [MVP]" <staceywREMOVE@mvps.org> wrote in message
news:uXUURaAWEHA.1356@TK2MSFTNGP09.phx.gbl...
> Any good links on this detail?
>
> --
> William Stacey, MVP
>
> "Valery Pryamikov" <Valery@nospam.harper.no> wrote in message
> news:OnaIcM7VEHA.3596@tk2msftngp13.phx.gbl...
>> > - When thread scheduler sees that thread is waiting on Win32
>> > synchronization objects it immediately schedules context switch to
> another
>> > runnable thread instead of wasting time spinning.
>>
>> shoud read as:
>> When thread scheduler sees that thread is waiting on non-signaled Win32
>> synchronization objects...
>>
>> -Valery.
>>
http://www.harper.no/valery >>
>> "Valery Pryamikov" <Valery@nospam.harper.no> wrote in message news:...
>> >> AFIK, every primitive is
>> >> ultimately based on a spin lock at the lowest level.
>> > If we talk about kernel mode Win32 synchronization objects - than it's
> not
>> > quite so.
>> > Yes, spin lock is used by code, but it is different in two ways:
>> > - When thread scheduler sees that thread is waiting on Win32
>> > synchronization objects it immediately schedules context switch to
> another
>> > runnable thread instead of wasting time spinning.
>> >
>> > - Additionally, kernel mode spin lock sets idle bit on interrupt
>> > command
>> > register (on Intel) or use other means (on other processor types) to
>> > notify processor that thread is running idle operation. Interrupt
> command
>> > register and this bit is not accessible from the user mode.
>> >
>> >
>> > -Valery.
>> >
http://www.harper.no/valery >> >
>>
>>
>