linux/drivers/net/xen-netback
Zoltan Kiss 59ae9fc670 xen-netback: Fix handling of skbs requiring too many slots
A recent commit (a02eb4 "xen-netback: worse-case estimate in xenvif_rx_action is
underestimating") capped the slot estimation to MAX_SKB_FRAGS, but that triggers
the next BUG_ON a few lines down, as the packet consumes more slots than
estimated.
This patch introduces full_coalesce on the skb callback buffer, which is used in
start_new_rx_buffer() to decide whether netback needs coalescing more
aggresively. By doing that, no packet should need more than
(XEN_NETIF_MAX_TX_SIZE + 1) / PAGE_SIZE data slots (excluding the optional GSO
slot, it doesn't carry data, therefore irrelevant in this case), as the provided
buffers are fully utilized.

Signed-off-by: Zoltan Kiss <zoltan.kiss@citrix.com>
Cc: Paul Durrant <paul.durrant@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: David Vrabel <david.vrabel@citrix.com>
Reviewed-by: Paul Durrant <paul.durrant@gmail.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-06-05 15:09:08 -07:00
..
common.h xen-netback: fix race between napi_complete() and interrupt handler 2014-05-16 16:27:23 -04:00
interface.c xen-netback: fix race between napi_complete() and interrupt handler 2014-05-16 16:27:23 -04:00
Makefile
netback.c xen-netback: Fix handling of skbs requiring too many slots 2014-06-05 15:09:08 -07:00
xenbus.c drivers/net/*: Fix FSF address in file headers 2013-12-06 12:37:55 -05:00