NdisStallExecution ???

Does NdisStallExecution put the entire system to sleep or just my driver.
The DDK says that the system is stalled? Is it right or am I
mis-interpreting it???

Thanks
Daniel


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

NdisStallExecution is a macro which uses KeStallExecutionProcessor. So it’s
effect will be to stall the current CPU
for a period of time .

----- Original Message -----
From: “Daniel Pradeep”
To: “NT Developers Interest List”
Sent: Saturday, May 19, 2001 6:50 AM
Subject: [ntdev] NdisStallExecution ???

> Does NdisStallExecution put the entire system to sleep or just my driver.
> The DDK says that the system is stalled? Is it right or am I
> mis-interpreting it???
>
> Thanks
> Daniel
>
> —
> You are currently subscribed to ntdev as: danp@jb.rdsor.ro
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

It should be noted here, which the DDK doesn’t note strong enough for my
liking, that you should never use this call unless you just absolutely
cannot get around it. This instruction has to be way high on the most
abused DDK function list. I worked for a company making network devices
that seemed to have a love affair with calling this particular instruction
as often and for as long as possible. I would love to see the CPU
performance hit on the machines that use their devices. The docs say that
you shouldn’t call it for time periods greater than 50uS, but they found
out it will work for time periods beyond that. No telling what they were
doing to the stability of the system at large. Grrr.



Bill M.

On 05/19/01, ““Dan Partelly” ” wrote:
> NdisStallExecution is a macro which uses KeStallExecutionProcessor. So it’s
> effect will be to stall the current CPU
> for a period of time .
>
> ----- Original Message -----
> From: “Daniel Pradeep”
> To: “NT Developers Interest List”
> Sent: Saturday, May 19, 2001 6:50 AM
> Subject: [ntdev] NdisStallExecution ???
>
>
> > Does NdisStallExecution put the entire system to sleep or just my driver.
> > The DDK says that the system is stalled? Is it right or am I
> > mis-interpreting it???
> >
> > Thanks
> > Daniel
> >
> > —
> > You are currently subscribed to ntdev as: danp@jb.rdsor.ro
> > To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
> >
>
>
>
> —
> You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Just to make it clear . This API wont “freeze” the current CPU on spot. On
its core , it uses rdtsc instruction to measure elapsed time and loop . This
API does not rise internaly the IRQL level , does not CLI or whatever ,
so as long as you call it at a IRQL level < DISPATCH_LEVEL is not so bad ,
since your thread can and will be preempted when it’s execution quantum will
expire. It will “burn” a lot of CPU time , that’s sure , but is just another
way to make a delay … There are way more dangerous stuff towards system
stability which are done by many developers , this one is harmless used
with a bit of care.

----- Original Message -----
From:
To: “NT Developers Interest List”
Sent: Saturday, May 19, 2001 8:00 PM
Subject: [ntdev] Re: NdisStallExecution ???

> It should be noted here, which the DDK doesn’t note strong enough for my
> liking, that you should never use this call unless you just absolutely
> cannot get around it. This instruction has to be way high on the most
> abused DDK function list. I worked for a company making network devices
> that seemed to have a love affair with calling this particular instruction
> as often and for as long as possible. I would love to see the CPU
> performance hit on the machines that use their devices. The docs say that
> you shouldn’t call it for time periods greater than 50uS, but they found
> out it will work for time periods beyond that. No telling what they were
> doing to the stability of the system at large. Grrr.
>
>
>
> Bill M.
>
>
> On 05/19/01, ““Dan Partelly” ” wrote:
> > NdisStallExecution is a macro which uses KeStallExecutionProcessor. So
it’s
> > effect will be to stall the current CPU
> > for a period of time .
> >
> > ----- Original Message -----
> > From: “Daniel Pradeep”
> > To: “NT Developers Interest List”
> > Sent: Saturday, May 19, 2001 6:50 AM
> > Subject: [ntdev] NdisStallExecution ???
> >
> >
> > > Does NdisStallExecution put the entire system to sleep or just my
driver.
> > > The DDK says that the system is stalled? Is it right or am I
> > > mis-interpreting it???
> > >
> > > Thanks
> > > Daniel
> > >
> > > —
> > > You are currently subscribed to ntdev as: danp@jb.rdsor.ro
> > > To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
> > >
> >
> >
> >
> > —
> > You are currently subscribed to ntdev as: danp@jb.rdsor.ro
> > To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>
> —
> You are currently subscribed to ntdev as: danp@jb.rdsor.ro
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Well, but most NDIS functions are called at DISPATCH_LEVEL and some on
DIRQL. I just can’t imagine a reasonable reason to call it at IRQL <
DISPATCH level but maybe there are some.

It could be interesting if you write more about other dangerous stuff you
mentioned.

Best regards,

Michal Vodicka
Veridicom
(RKK - Skytale)
[WWW: http://www.veridicom.com , http://www.skytale.com]


From: Dan Partelly[SMTP:danp@jb.rdsor.ro]
Reply To: NT Developers Interest List
Sent: Sunday, May 20, 2001 2:45 AM
To: NT Developers Interest List
Subject: [ntdev] Re: NdisStallExecution ???

Just to make it clear . This API wont “freeze” the current CPU on spot. On
its core , it uses rdtsc instruction to measure elapsed time and loop .
This
API does not rise internaly the IRQL level , does not CLI or whatever ,
so as long as you call it at a IRQL level < DISPATCH_LEVEL is not so bad
,
since your thread can and will be preempted when it’s execution quantum
will
expire. It will “burn” a lot of CPU time , that’s sure , but is just
another
way to make a delay … There are way more dangerous stuff towards system
stability which are done by many developers , this one is harmless used
with a bit of care.

----- Original Message -----
From:
> To: “NT Developers Interest List”
> Sent: Saturday, May 19, 2001 8:00 PM
> Subject: [ntdev] Re: NdisStallExecution ???
>
>
> > It should be noted here, which the DDK doesn’t note strong enough for my
> > liking, that you should never use this call unless you just absolutely
> > cannot get around it. This instruction has to be way high on the most
> > abused DDK function list. I worked for a company making network devices
> > that seemed to have a love affair with calling this particular
> instruction
> > as often and for as long as possible. I would love to see the CPU
> > performance hit on the machines that use their devices. The docs say
> that
> > you shouldn’t call it for time periods greater than 50uS, but they found
> > out it will work for time periods beyond that. No telling what they
> were
> > doing to the stability of the system at large. Grrr.
> >
> >
> >
> > Bill M.
>


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com