diff options
author | Zoltan Kiss <zoltan.kiss@citrix.com> | 2014-06-04 19:58:51 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-06-05 15:09:08 -0700 |
commit | 59ae9fc67007da8b5aea7b0a31c3607745cfbfee (patch) | |
tree | 908947ac0c763df0e3046e69b8e99e2e386d1762 /net/sctp/socket.c | |
parent | c531692073847fe64635f6992d774fb319e3529a (diff) |
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>
Diffstat (limited to 'net/sctp/socket.c')
0 files changed, 0 insertions, 0 deletions