vxge: Don't receive packets when the napi budget == 0
Processing any incoming packets with a with a napi budget of 0 is incorrect driver behavior. This matters as netpoll will shortly call drivers with a budget of 0 to avoid receive packet processing happening in hard irq context. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
176f792f57
Коммит
c7b82cc8d9
|
@ -368,6 +368,9 @@ vxge_rx_1b_compl(struct __vxge_hw_ring *ringh, void *dtr,
|
|||
vxge_debug_entryexit(VXGE_TRACE, "%s: %s:%d",
|
||||
ring->ndev->name, __func__, __LINE__);
|
||||
|
||||
if (ring->budget <= 0)
|
||||
goto out;
|
||||
|
||||
do {
|
||||
prefetch((char *)dtr + L1_CACHE_BYTES);
|
||||
rx_priv = vxge_hw_ring_rxd_private_get(dtr);
|
||||
|
@ -525,6 +528,7 @@ vxge_rx_1b_compl(struct __vxge_hw_ring *ringh, void *dtr,
|
|||
if (first_dtr)
|
||||
vxge_hw_ring_rxd_post_post_wmb(ringh, first_dtr);
|
||||
|
||||
out:
|
||||
vxge_debug_entryexit(VXGE_TRACE,
|
||||
"%s:%d Exiting...",
|
||||
__func__, __LINE__);
|
||||
|
|
Загрузка…
Ссылка в новой задаче