[ofa-general] Re: [PATCH] IPoIB: Remove redundant check in xmit handler

Krishna Kumar2 krkumar2 at in.ibm.com
Thu Nov 15 19:46:59 PST 2007


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




More information about the general mailing list