[ofw] Patch: [ipoib] Limit the time that is being spent in a DPC (don't handle more than 128 packet at one recv call)
Tzachi Dar
tzachid at mellanox.co.il
Thu Nov 6 12:37:44 PST 2008
Windows doesn't allow one DPC to last more than 100us.
It seems that on windows 2008 this is being enforced.
As a result I have added a limit on the number of packets that will be
used for each DPC.
After that we stop.
Hopefully, there won't be a need to do more changes.
Thanks
Tzachi
Index: Q:/projinf4/trunk/ulp/ipoib/kernel/ipoib_port.c
===================================================================
--- Q:/projinf4/trunk/ulp/ipoib/kernel/ipoib_port.c (revision 3437)
+++ Q:/projinf4/trunk/ulp/ipoib/kernel/ipoib_port.c (revision 3438)
@@ -1666,7 +1666,7 @@
recv_cnt += __recv_mgr_filter( p_port, p_wc, &done_list, &bad_list );
cl_perf_stop( &p_port->p_adapter->perf, FilterRecv );
- } while( !p_free );
+ } while( !p_free && recv_cnt < 128);
/* We're done looking at the endpoint map, release the reference. */
cl_atomic_dec( &p_port->endpt_rdr );
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20081106/a7b619e0/attachment.html>
More information about the ofw
mailing list