Description of wait reasons

I posted this in the Windbg group, but didn’t get anything back…

I often end up looking at dumps wishing I knew why certain threads were
waiting. The wait reason is diplayed, but I haven’t found any place that
describes their intended use. I can guess for most of them, but does
anyone know of a reference where they are all described?

typedef enum _KWAIT_REASON {
Executive,
FreePage,
PageIn,
PoolAllocation,
DelayExecution,
Suspended,
UserRequest,
WrExecutive,
WrFreePage,
WrPageIn,
WrPoolAllocation,
WrDelayExecution,
WrSuspended,
WrUserRequest,
WrEventPair,
WrQueue,
WrLpcReceive,
WrLpcReply,
WrVirtualMemory,
WrPageOut,
WrRendezvous,
Spare2,
Spare3,
Spare4,
Spare5,
Spare6,
WrKernel,
MaximumWaitReason
} KWAIT_REASON;

Pat

This is just a debugging helper. No code logic depends on this value.

I always set to “Executive”.

For instance, user-mode WaitForSingleObject will have “UserRequest” IIRC.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

----- Original Message -----
From: “Pat Bell”
Newsgroups: ntdev
To: “Windows System Software Devs Interest List”
Sent: Wednesday, February 02, 2005 5:16 AM
Subject: [ntdev] Description of wait reasons

> I posted this in the Windbg group, but didn’t get anything back…
>
> I often end up looking at dumps wishing I knew why certain threads were
> waiting. The wait reason is diplayed, but I haven’t found any place that
> describes their intended use. I can guess for most of them, but does
> anyone know of a reference where they are all described?
>
> typedef enum _KWAIT_REASON {
> Executive,
> FreePage,
> PageIn,
> PoolAllocation,
> DelayExecution,
> Suspended,
> UserRequest,
> WrExecutive,
> WrFreePage,
> WrPageIn,
> WrPoolAllocation,
> WrDelayExecution,
> WrSuspended,
> WrUserRequest,
> WrEventPair,
> WrQueue,
> WrLpcReceive,
> WrLpcReply,
> WrVirtualMemory,
> WrPageOut,
> WrRendezvous,
> Spare2,
> Spare3,
> Spare4,
> Spare5,
> Spare6,
> WrKernel,
> MaximumWaitReason
> } KWAIT_REASON;
>
> Pat
>
> —
> Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com