[ofa-general] [PATCH] ipoib/cm: use common CQ for all TX QPs

Pradeep Satyanarayana pradeeps at linux.vnet.ibm.com
Fri Aug 17 11:08:18 PDT 2007


Michael S. Tsirkin wrote:
>> Quoting Pradeep Satyanarayana <pradeeps at linux.vnet.ibm.com>:
>> Subject: Re: [ofa-general] [PATCH] ipoib/cm: use common CQ for all TX QPs
>>
>> Michael S. Tsirkin wrote:
>>> Use common CQ for all TX QPs: keep a per-device counter of outstanding TX WRs,
>>> and stop the interface when this counter reaches the send queue size, to avoid
>>> CQ overruns.  This should help reduce the number of interrupts for
>>> bi-directional traffic (such as TCP).
>> CQ overrun generates asynchronous errors. If CQ overruns are avoided, how does that 
>> reduce interrupts?
>>

So, the number of interrupts are reduced by switching to polling mode on the TX side too;
not by preventing CQ overruns.

>> On a side note, as a further extension to this idea, would it be worth considering 
>> sendq_size and recvq_size being device specific in the future, instead of being 
>> module specific?
> 
> How would you do this without resize QP support in low leve drivers?

Yes, that would have to be a prerequisite. 

> 
>>> This helps fix "driver is hogging interrupts" errors reported for IPoIB send side.
>>> See e.g. https://bugs.openfabrics.org/show_bug.cgi?id=508
>>>
>> In bug 508, timer ticks were lost because some device was hogging interrupts. 
>> What is the association between dropping packets and hogging interrupts?
>> Can you expand on that?
> 
> This patch fixes the hogging interrupts problem by polling TX completions
> from NAPI thread.
> 

Right, this likely solves the hogging interrupts problem. But, wasn't dmesg flooded with
dropping packets messages. That issue might still not be resolved.

Pradeep




More information about the general mailing list