Re: IoSkipCurrentIrpStackLocation() design flaw?



let's say i want to initiate i/o to the hw and while i am doing that, the Dx
irp comes in. now you have to stall the power irp and let the i/o finish.
basically, the power state change is done outside of the power policy state
machine and any PPO state machine which implements idle must be able to
control all state changes.

d
--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.


<BubbaGump> wrote in message
news:kmuvg291e9kes9p7hvo64ueafqn7k2he53@xxxxxxxxxx
I'm not understanding in what instances idle detection does and
doesn't work or what state is mismatched and the consequences of the
mismatch.




On Mon, 18 Sep 2006 21:53:09 -0700, "Doron Holan [MS]"
<doronh@xxxxxxxxxxxxxxxxxxxx> wrote:

this is not a bug really, just a flawed design that works in very few
instances. the OS itself keeps the right state under the right lock. the
problem is that the driver maintains its own state on the
device and the OS has no knowledge of that state or the lock that
maintains
that state. apparently the storage stacks use the OS idle detection.

d



.



Relevant Pages

  • Re: PM IRPs wont complete in KMDF bus driver
    ... Allocated power irps ... and then dump each irp with "IRP: ... > entering Power State WdfDevStatePowerCheckDeviceType from ... > entering Power State WdfDevStatePowerCheckParentState from ...
    (microsoft.public.development.device.drivers)
  • Re: PM IRPs wont complete in KMDF bus driver
    ... be which is what I used to extract power irps. ... and then dump each irp with "IRP: ... *down* the stack. ... I have included the results of!WDFDEVICE for child PDO and parent bus ...
    (microsoft.public.development.device.drivers)
  • Re: FastResume/power management questions
    ... you need this state to coordinate multiple functions on a composite device and only power them down once all functions are ready to power down, otherwise a virtual function will be armed for wake and in dx, but the hw itself remains in D0 and cannot signal wake. ... it sends the D0 irp to its stack and when the PDO ... > also a bus driver for the child devnode, ... > - S comes to child, which has another FD which is a PPO, which does> the ...
    (microsoft.public.development.device.drivers)
  • Re: power management questions
    ... S states are the states of the whole machine, defined by the ACPI spec. ... mobo capabilities - can it hold power on PCI slots in Suspend state or it can ... Also it depends on whether the wakeup is enabled to the device. ... The devnode can have only 1 outstanding D IRP. ...
    (microsoft.public.development.device.drivers)
  • Re: PM IRPs wont complete in KMDF bus driver
    ... Please do not send e-mail directly to this alias. ... I have emailed you the memory dump on Vista. ... >> On vista,!poaction was updated to dump the power irp req list, it>> would ... >> and then dump each irp with "IRP: ...
    (microsoft.public.development.device.drivers)

Loading