Commit 22a998c5 authored by Ivan Vecera's avatar Ivan Vecera Committed by Greg Kroah-Hartman

bna: fix performance regression

[ Upstream commit c36c9d50 ]

The recent commit "e29aa339 bna: Enable Multi Buffer RX" is causing
a performance regression. It does not properly update 'cmpl' pointer
at the end of the loop in NAPI handler bnad_cq_process(). The result is
only one packet / per NAPI-schedule is processed.
Signed-off-by: default avatarIvan Vecera <ivecera@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent e5d3a2b8
...@@ -600,9 +600,9 @@ bnad_cq_process(struct bnad *bnad, struct bna_ccb *ccb, int budget) ...@@ -600,9 +600,9 @@ bnad_cq_process(struct bnad *bnad, struct bna_ccb *ccb, int budget)
prefetch(bnad->netdev); prefetch(bnad->netdev);
cq = ccb->sw_q; cq = ccb->sw_q;
cmpl = &cq[ccb->producer_index];
while (packets < budget) { while (packets < budget) {
cmpl = &cq[ccb->producer_index];
if (!cmpl->valid) if (!cmpl->valid)
break; break;
/* The 'valid' field is set by the adapter, only after writing /* The 'valid' field is set by the adapter, only after writing
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment