Re: Multi-threading article finally "finished" - reviewers welcome

From: Valery Pryamikov (Valery_at_nospam.harper.no)
Date: 06/22/04


Date: Tue, 22 Jun 2004 08:28:30 +0200

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
this:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndllpro/html/msdn_scalabil.asp

I don't have C sample of setting ICR. It could only be done in kernel
development and is processor related (+it would not be C, but inline
assembler). If you are interesting in information about ICR on X86 Intel
processor you can see it in developers Intel Manual. (btw, Itanium uses
another way of signalling idle)
For X68 info see links in Manuals section of this page:
http://www.intel.com/design/Pentium4/documentation.htm

-Valery.
http://www.harper.no/valery

"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
>> >
>>
>>
>



Relevant Pages