mirror of https://gitee.com/openkylin/linux.git
netvsc: signal host if receive ring is emptied
Latency improvement related to NAPI conversion. If all packets are processed from receive ring then need to signal host. Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
493933472d
commit
f4e403633b
|
@ -1195,10 +1195,15 @@ int netvsc_poll(struct napi_struct *napi, int budget)
|
|||
nvchan->desc = hv_pkt_iter_next(channel, nvchan->desc);
|
||||
}
|
||||
|
||||
/* If send of pending receive completions suceeded
|
||||
* and did not exhaust NAPI budget
|
||||
/* if ring is empty, signal host */
|
||||
if (!nvchan->desc)
|
||||
hv_pkt_iter_close(channel);
|
||||
|
||||
/* If send of pending receive completions suceeded
|
||||
* and did not exhaust NAPI budget this time
|
||||
* and not doing busy poll
|
||||
* then reschedule if more data has arrived from host
|
||||
* then re-enable host interrupts
|
||||
* and reschedule if ring is not empty.
|
||||
*/
|
||||
if (send_recv_completions(nvchan) == 0 &&
|
||||
work_done < budget &&
|
||||
|
|
Loading…
Reference in New Issue