DeviceUsageTypeDumpFile description in MSDN

As I was looking for information on PoRegisterDeviceForIdleDetection I
noticed a curious note on Microsoft’s expected response to a
DeviceUsageTypeDumpFile operation for a IRP_MN_DEVICE_USAGE_NOTIFICATION

Why would idle detection not be desired on a device that contains the
crashdump location?

From URL:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/kmarch/
hh/kmarch/pnp-irps_809681a7-f8b2-401f-9478-8ef06bd4ccff.xml.asp
I see the following comments:
“For a DeviceUsageTypeDumpFile file on its device, a driver must do the
following:

* Do not take the device out of the D0 state.
Do not register the device for idle detection
(PoRegisterDeviceForIdleDetection
<portn_be0ccb17-9465-4f61-a8ed-fa945f5340d6.xml.asp> ). If the device is
already registered, cancel the registration. If the driver performs its
own idle detection for the device, suspend such detection.”

This last pair of sentences seem wrong, but I’d appreciate hearing what
others think about this topic.

Thanks, MKE</portn_be0ccb17-9465-4f61-a8ed-fa945f5340d6.xml.asp>

Imagine the following

  1. you idle out the disk
  2. a bugcheck occurs, system attempts to load the crash dump stack and
    write to the disk (at HIGH irql probably)
  3. you can’t write to the disk b/c it is spun down
  4. your bugcheck’s dump is now lost

You disable idling out so that when a bugcheck, you can be guaranteed
that the disk is spun up so you can write out the dump.

d


From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Eschmann, Michael
K
Sent: Friday, October 15, 2004 7:36 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] DeviceUsageTypeDumpFile description in MSDN

As I was looking for information on PoRegisterDeviceForIdleDetection I
noticed a curious note on Microsoft’s expected response to a
DeviceUsageTypeDumpFile operation for a IRP_MN_DEVICE_USAGE_NOTIFICATION
Why would idle detection not be desired on a device that contains the
crashdump location?
From URL:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/kmarch/
hh/kmarch/pnp-irps_809681a7-f8b2-401f-9478-8ef06bd4ccff.xml.asp
I see the following comments:
“For a DeviceUsageTypeDumpFile file on its device, a driver must do the
following:

o Do not take the device out of the D0 state.
Do not register the device for idle detection
(PoRegisterDeviceForIdleDetection). If the device is already registered,
cancel the registration. If the driver performs its own idle detection
for the device, suspend such detection.”
This last pair of sentences seem wrong, but I’d appreciate hearing what
others think about this topic.
Thanks, MKE


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

But the scenario you describe should only apply if requesting a D3 state
transition when idle timeout occurs.

if the driver is only requesting idle timeout to go to D1, the power is
still applied and the HDD is only spun down through an
interface-specific command (eg: ATA Standby Immediate command), so once
the crash happens the disk writes will automatically spin up the drive
and the dump is successfully saved.

Now if a D3 event was requested, then I could see your point since
device power would be off with no way for the dump path to get it turned
on again.

MKE.

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Doron Holan
Sent: Friday, October 15, 2004 9:07 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] DeviceUsageTypeDumpFile description in MSDN

Imagine the following

  1. you idle out the disk
  2. a bugcheck occurs, system attempts to load the crash dump stack and
    write to the disk (at HIGH irql probably)
  3. you can’t write to the disk b/c it is spun down
  4. your bugcheck’s dump is now lost

You disable idling out so that when a bugcheck, you can be guaranteed
that the disk is spun up so you can write out the dump.

d


From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Eschmann, Michael
K
Sent: Friday, October 15, 2004 7:36 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] DeviceUsageTypeDumpFile description in MSDN

As I was looking for information on PoRegisterDeviceForIdleDetection I
noticed a curious note on Microsoft’s expected response to a
DeviceUsageTypeDumpFile operation for a IRP_MN_DEVICE_USAGE_NOTIFICATION
Why would idle detection not be desired on a device that contains the
crashdump location?
From URL:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/kmarch/
hh/kmarch/pnp-irps_809681a7-f8b2-401f-9478-8ef06bd4ccff.xml.asp
I see the following comments:
“For a DeviceUsageTypeDumpFile file on its device, a driver must do the
following:

o Do not take the device out of the D0 state.
Do not register the device for idle detection
(PoRegisterDeviceForIdleDetection). If the device is already registered,
cancel the registration. If the driver performs its own idle detection
for the device, suspend such detection.”
This last pair of sentences seem wrong, but I’d appreciate hearing what
others think about this topic.
Thanks, MKE


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Seeing that D1 - D3 means different things to different busses or HBAs,
the DDK cannot make this distinction, hence the blanket statement.

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Eschmann, Michael
K
Sent: Friday, October 15, 2004 10:14 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] DeviceUsageTypeDumpFile description in MSDN

But the scenario you describe should only apply if requesting a D3 state
transition when idle timeout occurs.

if the driver is only requesting idle timeout to go to D1, the power is
still applied and the HDD is only spun down through an
interface-specific command (eg: ATA Standby Immediate command), so once
the crash happens the disk writes will automatically spin up the drive
and the dump is successfully saved.

Now if a D3 event was requested, then I could see your point since
device power would be off with no way for the dump path to get it turned
on again.

MKE.

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Doron Holan
Sent: Friday, October 15, 2004 9:07 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] DeviceUsageTypeDumpFile description in MSDN

Imagine the following

  1. you idle out the disk
  2. a bugcheck occurs, system attempts to load the crash dump stack and
    write to the disk (at HIGH irql probably)
  3. you can’t write to the disk b/c it is spun down
  4. your bugcheck’s dump is now lost

You disable idling out so that when a bugcheck, you can be guaranteed
that the disk is spun up so you can write out the dump.

d


From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Eschmann, Michael
K
Sent: Friday, October 15, 2004 7:36 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] DeviceUsageTypeDumpFile description in MSDN

As I was looking for information on PoRegisterDeviceForIdleDetection I
noticed a curious note on Microsoft’s expected response to a
DeviceUsageTypeDumpFile operation for a IRP_MN_DEVICE_USAGE_NOTIFICATION
Why would idle detection not be desired on a device that contains the
crashdump location?
From URL:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/kmarch/
hh/kmarch/pnp-irps_809681a7-f8b2-401f-9478-8ef06bd4ccff.xml.asp
I see the following comments:
“For a DeviceUsageTypeDumpFile file on its device, a driver must do the
following:

o Do not take the device out of the D0 state.
Do not register the device for idle detection
(PoRegisterDeviceForIdleDetection). If the device is already registered,
cancel the registration. If the driver performs its own idle detection
for the device, suspend such detection.”
This last pair of sentences seem wrong, but I’d appreciate hearing what
others think about this topic.
Thanks, MKE


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

DeviceUsageTypeDumpFile description in MSDN It’s obvious. Nobody wants to run power management paths to awaken the disk in case of a bugcheck.

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

----- Original Message -----
From: Eschmann, Michael K
To: Windows System Software Devs Interest List
Sent: Friday, October 15, 2004 6:36 PM
Subject: [ntdev] DeviceUsageTypeDumpFile description in MSDN

As I was looking for information on PoRegisterDeviceForIdleDetection I noticed a curious note on Microsoft’s expected response to a DeviceUsageTypeDumpFile operation for a IRP_MN_DEVICE_USAGE_NOTIFICATION

Why would idle detection not be desired on a device that contains the crashdump location?

From URL: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/kmarch/hh/kmarch/pnp-irps_809681a7-f8b2-401f-9478-8ef06bd4ccff.xml.asp

I see the following comments:
“For a DeviceUsageTypeDumpFile file on its device, a driver must do the following:


a… Do not take the device out of the D0 state.
Do not register the device for idle detection (PoRegisterDeviceForIdleDetection). If the device is already registered, cancel the registration. If the driver performs its own idle detection for the device, suspend such detection.”

This last pair of sentences seem wrong, but I’d appreciate hearing what others think about this topic.

Thanks, MKE


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com