Re: [PATCH net-next 2/2] bnx2x: use the default NAPI weight
From: Eric Dumazet <hidden>
Date: 2013-03-06 03:28:32
On Tue, 2013-03-05 at 21:09 -0500, David Miller wrote:
From: Eric Dumazet <redacted> Date: Tue, 05 Mar 2013 17:57:47 -0800quoted
BQL (Byte Queue Limits) proper operation needs TX completion being serviced in a timely fashion. bnx2x uses a non standard NAPI poll weight, and thats not fair to other napi poll handlers, and even not reasonable.Can you give some details about the situation in which you noticed this? It may be reason enough to target this for 'net' and -stable instead.
Sure : We are facing a fanout/fanin problem for a given application. What happens is that link is mostly idle, and every couple of minutes, we receive a burst of messages, needing a burst of transmits. BQL starts with a limit of 0, meaning it needs some TX completion runs to be able to detect the sudden increase of TX need and reach line rate. bnx2x is really unfair in this scenario, because the NAPI poll budget is very high, and aggregated packets (by LRO) count for a single packet in the budget. (or even 0, see the "goto next_cqe;" that avoids the rx_pkt ++; in drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c line 1007) We probably have other issues in the stack, I am patiently finding all of them. In the mean time we had to disable BQL :(