IRP timeouts ...

I’ve been asked a question that I’m not sure of … How long can a single
IRP be delayed before it is completed? I know for the IRP’s that I deal
with, that if one is not completed within about 5 minutes, I get a bitch box
from the system complaining about an uncompleted IRP. However, a SCSI format
command on a RAID may take many times longer than the 5 minutes I have been
seeing.

Is there a mechanism to allow an INFINITE timeout value? In the SCSI case,
is it breaking up and or re-using the IRP?

Gary


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

> I’ve been asked a question that I’m not sure of … How long can a single

IRP be delayed before it is completed? I know for the IRP’s that I deal
with, that if one is not completed within about 5 minutes, I get a bitch
box
from the system complaining about an uncompleted IRP. However, a SCSI

IIRC this timeout check occurs only during thread termination - is it not
so?
When the thread is terminated, all IRPs originated by it are cancelled, then
the thread waits for all non-canceable IRPs originated by it to complete.
This wait has a timeout and the bitch box with something about the “alotted
time” opens.

Max


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

Aaahhhh, so if the thread doesn’t terminate, then the IRP will hang around
forever.

Gary

-----Original Message-----
From: Maxim S. Shatskih [mailto:xxxxx@storagecraft.com]
Sent: Wednesday, December 13, 2000 5:49 PM
To: NT Developers Interest List
Subject: [ntdev] Re: IRP timeouts …

I’ve been asked a question that I’m not sure of … How long can a single
IRP be delayed before it is completed? I know for the IRP’s that I deal
with, that if one is not completed within about 5 minutes, I get a bitch
box
from the system complaining about an uncompleted IRP. However, a SCSI

IIRC this timeout check occurs only during thread termination - is it not
so?
When the thread is terminated, all IRPs originated by it are cancelled, then
the thread waits for all non-canceable IRPs originated by it to complete.
This wait has a timeout and the bitch box with something about the “alotted
time” opens.

Max


You are currently subscribed to ntdev as: xxxxx@delphieng.com
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

Not necessarily. Thread can call CancelIo() function. IIRC it has the same
effect for hung IRPs as thread termination i.e. bitch box after 5 minutes.
I’m not quite sure, it is long ago I played with it…

Best regards,

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


From: Gary Little[SMTP:xxxxx@delphieng.com]
Reply To: NT Developers Interest List
Sent: Thursday, December 14, 2000 02:56
To: NT Developers Interest List
Subject: [ntdev] Re: IRP timeouts …

Aaahhhh, so if the thread doesn’t terminate, then the IRP will hang around
forever.

Gary

-----Original Message-----
From: Maxim S. Shatskih [mailto:xxxxx@storagecraft.com]
Sent: Wednesday, December 13, 2000 5:49 PM
To: NT Developers Interest List
Subject: [ntdev] Re: IRP timeouts …

> I’ve been asked a question that I’m not sure of … How long can a
single
> IRP be delayed before it is completed? I know for the IRP’s that I deal
> with, that if one is not completed within about 5 minutes, I get a bitch
box
> from the system complaining about an uncompleted IRP. However, a SCSI

IIRC this timeout check occurs only during thread termination - is it not
so?
When the thread is terminated, all IRPs originated by it are cancelled,
then
the thread waits for all non-canceable IRPs originated by it to complete.
This wait has a timeout and the bitch box with something about the
“alotted
time” opens.

Max


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


You are currently subscribed to ntdev as: xxxxx@rkk.cz
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

Microsoft’s PC/SC system sends an IRP down to the lower driver that remains
in the driver until an insertion or a removal occurs. This could not be
used if an IRP ‘expired’. It does mean that those drivers must have a
cancel routine to handle the IRP when the SmartCard service terminates.

----- Original Message -----
From: “Gary Little”
To: “NT Developers Interest List”
Sent: Wednesday, December 13, 2000 8:56 PM
Subject: [ntdev] Re: IRP timeouts …

> Aaahhhh, so if the thread doesn’t terminate, then the IRP will hang around
> forever.
>
> Gary
>
> -----Original Message-----
> From: Maxim S. Shatskih [mailto:xxxxx@storagecraft.com]
> Sent: Wednesday, December 13, 2000 5:49 PM
> To: NT Developers Interest List
> Subject: [ntdev] Re: IRP timeouts …
>
>
> > I’ve been asked a question that I’m not sure of … How long can a
single
> > IRP be delayed before it is completed? I know for the IRP’s that I deal
> > with, that if one is not completed within about 5 minutes, I get a bitch
> box
> > from the system complaining about an uncompleted IRP. However, a SCSI
>
> IIRC this timeout check occurs only during thread termination - is it not
> so?
> When the thread is terminated, all IRPs originated by it are cancelled,
then
> the thread waits for all non-canceable IRPs originated by it to complete.
> This wait has a timeout and the bitch box with something about the
“alotted
> time” opens.
>
> Max
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@delphieng.com
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>
> —
> You are currently subscribed to ntdev as: xxxxx@mindspring.com
> 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

The five minute delay is how long the IoManager will wait after process
termination causes IRPs still associated with the threads of the terminating
process to be cancelled before throwing the ‘bitch box’ up on the display
(and attempting a final cleanup of IRP associated resources.) Other than
this constraint there is no explicit IoManager imposed timeout associated
with pended IRPs. There may be driver-stack agreements on how long things
ought to take.

Mark Roddy
Windows 2000/NT Consultant
Hollis Technology Solutions
www.hollistech.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Gary Little
Sent: Wednesday, December 13, 2000 4:34 PM
To: NT Developers Interest List
Subject: [ntdev] IRP timeouts …

I’ve been asked a question that I’m not sure of … How long can a single
IRP be delayed before it is completed? I know for the IRP’s that I deal
with, that if one is not completed within about 5 minutes, I get
a bitch box
from the system complaining about an uncompleted IRP. However, a
SCSI format
command on a RAID may take many times longer than the 5 minutes I
have been
seeing.

Is there a mechanism to allow an INFINITE timeout value? In the SCSI case,
is it breaking up and or re-using the IRP?

Gary


You are currently subscribed to ntdev as: xxxxx@wattanuck.mv.com
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

Ok, so I qualify that … if the thread does not terminate nor call
CancelIo() then the IRP will be immortal.

Gary

-----Original Message-----
From: Vodicka, Michal [mailto:xxxxx@rkk.cz]
Sent: Wednesday, December 13, 2000 6:16 PM
To: NT Developers Interest List
Subject: [ntdev] Re: IRP timeouts …

Not necessarily. Thread can call CancelIo() function. IIRC it has the same
effect for hung IRPs as thread termination i.e. bitch box after 5 minutes.
I’m not quite sure, it is long ago I played with it…

Best regards,

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


From: Gary Little[SMTP:xxxxx@delphieng.com]
Reply To: NT Developers Interest List
Sent: Thursday, December 14, 2000 02:56
To: NT Developers Interest List
Subject: [ntdev] Re: IRP timeouts …

Aaahhhh, so if the thread doesn’t terminate, then the IRP will hang around
forever.

Gary

-----Original Message-----
From: Maxim S. Shatskih [mailto:xxxxx@storagecraft.com]
Sent: Wednesday, December 13, 2000 5:49 PM
To: NT Developers Interest List
Subject: [ntdev] Re: IRP timeouts …

> I’ve been asked a question that I’m not sure of … How long can a
single
> IRP be delayed before it is completed? I know for the IRP’s that I deal
> with, that if one is not completed within about 5 minutes, I get a bitch
box
> from the system complaining about an uncompleted IRP. However, a SCSI

IIRC this timeout check occurs only during thread termination - is it not
so?
When the thread is terminated, all IRPs originated by it are cancelled,
then
the thread waits for all non-canceable IRPs originated by it to complete.
This wait has a timeout and the bitch box with something about the
“alotted
time” opens.

Max


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


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


You are currently subscribed to ntdev as: xxxxx@delphieng.com
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

Sure. What is bad on this?

Best regards,

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


From: Gary Little[SMTP:xxxxx@delphieng.com]
Reply To: NT Developers Interest List
Sent: Thursday, December 14, 2000 7:12 PM
To: NT Developers Interest List
Subject: [ntdev] Re: IRP timeouts …

Ok, so I qualify that … if the thread does not terminate nor call
CancelIo() then the IRP will be immortal.

Gary

-----Original Message-----
From: Vodicka, Michal [mailto:xxxxx@rkk.cz]
Sent: Wednesday, December 13, 2000 6:16 PM
To: NT Developers Interest List
Subject: [ntdev] Re: IRP timeouts …

Not necessarily. Thread can call CancelIo() function. IIRC it has the same
effect for hung IRPs as thread termination i.e. bitch box after 5 minutes.
I’m not quite sure, it is long ago I played with it…

Best regards,

Michal Vodicka
Veridicom
(RKK - Skytale)
[WWW: http://www.veridicom.com , http://www.skytale.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

Absolutely nothing is “bad on this”. :slight_smile:

It simply never occurred to me that the reason why I was getting the bitch
box was because I had cancelled the app, not because the IRP had exceeded
some magic timeout value.

Gary

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Vodicka, Michal
Sent: Thursday, December 14, 2000 11:54 AM
To: NT Developers Interest List
Subject: [ntdev] Re: IRP timeouts …

Sure. What is bad on this?

Best regards,

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


From: Gary Little[SMTP:xxxxx@delphieng.com]
Reply To: NT Developers Interest List
Sent: Thursday, December 14, 2000 7:12 PM
To: NT Developers Interest List
Subject: [ntdev] Re: IRP timeouts …

Ok, so I qualify that … if the thread does not terminate nor call
CancelIo() then the IRP will be immortal.

Gary

-----Original Message-----
From: Vodicka, Michal [mailto:xxxxx@rkk.cz]
Sent: Wednesday, December 13, 2000 6:16 PM
To: NT Developers Interest List
Subject: [ntdev] Re: IRP timeouts …

Not necessarily. Thread can call CancelIo() function. IIRC it has the same
effect for hung IRPs as thread termination i.e. bitch box after 5 minutes.
I’m not quite sure, it is long ago I played with it…

Best regards,

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


You are currently subscribed to ntdev as: xxxxx@inland.net
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