[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [win-pv-devel] xenvif Win7 BSOD - DRIVER_POWER_STATE_FAILURE


  • To: 'Martin Cerveny' <M.Cerveny@xxxxxxxxxxxx>
  • From: Paul Durrant <Paul.Durrant@xxxxxxxxxx>
  • Date: Tue, 7 Feb 2017 13:43:04 +0000
  • Accept-language: en-GB, en-US
  • Cc: "win-pv-devel@xxxxxxxxxxxxxxxxxxxx" <win-pv-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Tue, 07 Feb 2017 13:43:24 +0000
  • List-id: Developer list for the Windows PV Drivers subproject <win-pv-devel.lists.xenproject.org>
  • Thread-index: AQHSf0UnGPO2vOuRQEaaxv/OhKmDbKFbrYDg///78oCAABFd8IAAHX6AgAAXwNCAABbVAIAAEiaA////UwCAABWF0IAABAyAgAEdCkCAADAAAIAAEXjQ
  • Thread-topic: [win-pv-devel] xenvif Win7 BSOD - DRIVER_POWER_STATE_FAILURE

> -----Original Message-----
> From: Martin Cerveny [mailto:martin@xxxxxxxxx]
> Sent: 07 February 2017 13:36
> To: Paul Durrant <Paul.Durrant@xxxxxxxxxx>
> Cc: win-pv-devel@xxxxxxxxxxxxxxxxxxxx
> Subject: Re: [win-pv-devel] xenvif Win7 BSOD -
> DRIVER_POWER_STATE_FAILURE
> 
> Hello.
> 
> I think I found it:
> 
> When IN_NDIS_MAX is hit (NDIS_RECEIVE_FLAGS_RESOURCES) and more
> then one packet in NetBufferList,
> you increment Indicated more then one, send through
> __IndicateReceiveNetBufferLists(),
> but there is side effect that split linked list, 
> __ReceiverReturnNetBufferLists()
> free only the first one and increment
> Returned only by one.

Well found!

Yes, because __IndicateReceiveNetBufferLists() carves up the list, isolating 
the head list, it means __ReceiverReturnNetBufferLists() only ever sees one 
list in this case. 

> 
> Some testing patch added but rethink patch by your own.
> 

I will come up with something a.s.a.p. and send you a build to try. It would be 
good to get your tested-by on the patch before I push it.

Cheers,

  Paul

> M.C>
> 
> On Tue, 7 Feb 2017, Paul Durrant wrote:
> 
> >> -----Original Message-----
> >> From: Martin Cerveny [mailto:martin@xxxxxxxxx]
> >> Sent: 06 February 2017 17:44
> >> To: Paul Durrant <Paul.Durrant@xxxxxxxxxx>
> >> Cc: win-pv-devel@xxxxxxxxxxxxxxxxxxxx
> >> Subject: Re: [win-pv-devel] xenvif Win7 BSOD -
> >> DRIVER_POWER_STATE_FAILURE
> >>
> >> Hello.
> >>
> >> On Mon, 6 Feb 2017, Paul Durrant wrote:
> >>> [snip]
> >>>> How to identify active filter drivers ?
> >>>
> >>> You can use the ndiskd windbg extension IIRC.
> >>
> >> Yes, loaded.
> >> 0: kd> !ndiskd.netreport  -verbose
> >> Output attached.
> >>
> >
> > I can't see anything in there to indicate outstanding packets so I really 
> > don't
> know why you're getting into this situation. As a next step I suggest turning
> off RSS in the advanced properties and seeing if the problem still occurs (RSS
> is the main difference between the 8.1 and 8.2 network drivers).
> >
> >  Paul
> >
> > _______________________________________________
> > win-pv-devel mailing list
> > win-pv-devel@xxxxxxxxxxxxxxxxxxxx
> > https://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel
> >

_______________________________________________
win-pv-devel mailing list
win-pv-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.