From: Jeff Moyer 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 Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton --- /dev/null | 0 25-akpm/net/core/netpoll.c | 8 +++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff -puN net/core/netpoll.c~netpoll-increase-napi-budget net/core/netpoll.c --- 25/net/core/netpoll.c~netpoll-increase-napi-budget Thu Aug 26 16:36:33 2004 +++ 25-akpm/net/core/netpoll.c Thu Aug 26 16:36:33 2004 @@ -63,7 +63,13 @@ static int checksum_udp(struct sk_buff * 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; diff -L net/core/netpoll.c.budget -puN /dev/null /dev/null _