[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH net v2] xen-netback: Fix handling of skbs requiring too many slots
On Wed, Jun 04, 2014 at 07:58:51PM +0100, Zoltan Kiss wrote: > 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. > Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx> Minor nit below. [...] > @@ -602,10 +611,14 @@ static void xenvif_rx_action(struct xenvif *vif) > > /* To avoid the estimate becoming too pessimal for some > * frontends that limit posted rx requests, cap the estimate > - * at MAX_SKB_FRAGS. > + * at MAX_SKB_FRAGS. In this case netback will fully coalesce > + * the skb into the provided slots. > */ > - if (max_slots_needed > MAX_SKB_FRAGS) > + if (max_slots_needed > MAX_SKB_FRAGS) { > max_slots_needed = MAX_SKB_FRAGS; > + XENVIF_RX_CB(skb)->full_coalesce = true; > + } else > + XENVIF_RX_CB(skb)->full_coalesce = false; > Please enclose this line with {}, which is required by kernel coding style. Wei. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |