Hi Roland, > This check was added because of a real problem seen in practice a > while ago. Has something changed in the tx queue locking that makes > it redundant now?
I am not sure of how it was earlier, but currently a device's xmit can be called only on one cpu at a time (by holding the __LINK_STATE_QDISC_RUNNING bit in qdisc_run). And queue_stopped check is present before xmit. > I seem to remember that I could make the problem race trigger pretty > fast by making the tx queue very small so that it got stopped a lot. I just tested with a smaller queue size (tx queue size=4), put a debug in the queue_stopped check in xmit(), and a counter to find how many times the queue was stopped (in ipoib_send). After a 20 min test run with 64 threads, the queue was stopped 16.5 million times, but the debug never hit. I tested with buffer sizes varying from 128 to 16K bytes (though TSO/GSO is not implemented in IPoIB anyway). Thanks, - KK _______________________________________________ general mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
