-
Notifications
You must be signed in to change notification settings - Fork 389
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
netkvm: does it need to wait when StopFlows #1221
Comments
@wangyan0507 Unfortunately, paravirtualizaed "HW" behaves differently than actual HW in this case, so we must wait. |
@YanVugenfirer Sorry, I am not understand very well.
The normal rx process:
In "Not wait for the completion of pending receive indications through calls to its MiniportReturnNetBufferLists function.", does it mean no need to wait the call for netkvm!ParaNdis6_ReturnNetBufferLists? If it is, the call m_NoOutstandingItems.Wait() may be get stuck, because it depends on the m_Counter to become StoppedMask. Thanks! |
@wangyan0507 Do you see an actual case when we are stuck waiting for completed buffers, or is it a theoretical question? |
@YanVugenfirer Yes, I got a stuck waiting for completed buffers in the older netkvm drivers(commit 315c637). The bsod RIVER_POWER_STATE_FAILURE (9f) happend. |
Can you please send more details, like what OS, what drivers version, and the exact scenario? Thank you. |
When shutdown the windows vm with netkvm driver, shoud it wait the m_Counter to zero for m_RxStateMachine?
The shutdown stack:
For shutdown vm scene, when there is a lot of incomping packets, the m_Counter will be released as follows for m_RxStateMachine:
But from the microsoft doc for OID_PNP_SET_POWER:
The miniport driver that supports NDIS 6.30 and later versions of NDIS must also do the following:
Not wait for the completion of pending receive indications through calls to its MiniportReturnNetBufferLists function.
Thanks in advance!
Yan Wang
The text was updated successfully, but these errors were encountered: