From: David Vrabel <david.vra...@citrix.com>
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.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to