[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCHv1 net] xen-netback: use skb to determine number of required guest Rx requests
On 14/01/16 21:54, David Miller wrote: > From: David Vrabel <david.vrabel@xxxxxxxxxx> > Date: Thu, 14 Jan 2016 15:18:30 +0000 > >> - needed = xenvif_rx_ring_slots_needed(queue->vif); >> + skb = skb_peek(&queue->rx_queue); >> + if (!skb) >> + return false; >> + >> + needed = DIV_ROUND_UP(skb->len, XEN_PAGE_SIZE); >> + if (skb_is_gso(skb)) >> + needed++; > > If I am not mistaken, we moved away from this kind of test exactly because > it is inaccurate and may under-estimate the needs. > > It is possible for an N byte SKB to require N segments. Therefore, the: > > DIV_ROUND_UP(skb->len, XEN_PAGE_SIZE); > > calculation doesn't cut it. After 1650d5455bd2dc6b5ee134bd6fc1a3236c266b5b (xen-netback: always fully coalesce guest Rx packets) we always fully pack a packet into its guest Rx slots. Each slot has space for XEN_PAGE_SIZE bytes so this calculation for the number of slots is correct. Shall I resend with a more description changelog? David _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |