mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-06 08:46:46 +00:00
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
1 changed files with 8 additions and 3 deletions
|
@ -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 a new issue