Quantcast
Channel: Mellanox Interconnect Community: Message List
Viewing all articles
Browse latest Browse all 6278

While disabling the Virtual kernel mode driver running with heavy traffic, API modify_qp() is not responding properly. It gets hanged

$
0
0

Hi All,

 

I am working Virtual Kernel mode Windows WMI driver, for windows server 2012 R2 and using Mellanox 4.8 stack.

 

While disabling the Virtual kernel mode driver running with heavy traffic, API modify_qp() is not responding properly. It gets hanged.

 

In case of less traffic,it is responding fine. While running IPERF, traffic carried nearly 15 Gbps per second, Modify_QP is not responding  in some scenario (2 out of 10).

 

code:

 

AcquireWriteLock(&Adapter->IBListLock, &lockState);

listEntry = Adapter->IBListHead.Flink;

while (listEntry != &Adapter->IBListHead) {

pviConnectInfo = (PVI_CONNECT_INFO *)CONTAINING_RECORD(listEntry, PVI_CONNECT_INFO, listEntry);

 

if (pviConnectInfo->qp && pviConnectInfo->p_ifc) {

qp_mod.req_state = IB_QPS_ERROR;

ibStatus = pviConnectInfo->p_ifc->modify_qp(pviConnectInfo->qp, &qp_mod);

if (ibStatus != IB_SUCCESS) {

DEBUGP(VNIC_ERROR, (FUNCTION": %s: failed to move QP %p to ERROR state, error 0x%x\n",

Adapter->vnic_name, pviConnectInfo->qp, ibStatus));

}

}

 

listEntry = listEntry->Flink;

}

ReleaseLock(&Adapter->IBListLock, &lockState);

 

Here in this case,Modify_qp() fails to respond immediately (that is,it fails to move to error state)and it gets hanged, then i am getting BSOD and it is showing "watchdog timeout" . The reason is NdisAcquireReadWriteLock() acquired prolonged period, more than 25 micro seconds.

 

Please suggest me how to resolve and handle this issue.

 

Regards,

Janaki


Viewing all articles
Browse latest Browse all 6278

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>