[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