mirror of https://gitee.com/openkylin/linux.git
bna: fix performance regression
The recent commit "e29aa33 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: Ivan Vecera <ivecera@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
1f74e613de
commit
c36c9d50cc
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue