I've upped the poll budget to 16 and added a comment explaining why. I
definitely ran into this problem when testing netdump.
Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Matt Mackall <mpm@selenic.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
void netpoll_poll(struct netpoll *np)
{
- int budget = 1;
+ /*
+ * In cases where there is bi-directional communications, reading
+ * only one message at a time can lead to packets being dropped by
+ * the network adapter, forcing superfluous retries and possibly
+ * timeouts. Thus, we set our budget to a more reasonable value.
+ */
+ int budget = 16;
if(!np->dev || !netif_running(np->dev) || !np->dev->poll_controller)
return;