• Zoltan Kiss's avatar
    xen-netback: Fix handling of skbs requiring too many slots · 59ae9fc6
    Zoltan Kiss authored
    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: default avatarZoltan 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: default avatarPaul Durrant <paul.durrant@gmail.com>
    Acked-by: default avatarWei Liu <wei.liu2@citrix.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    59ae9fc6
netback.c 51.9 KB