On Sun, 18 Oct 2015 14:29:03 +0800
Huawei Xie <huawei.xie at intel.com> wrote:

> +
> +     for (i = 1; i < VIRTIO_TX_FREE_NR; i++) {
> +             m = (struct rte_mbuf *)vq->vq_descx[desc_idx++].cookie;
> +             if (likely(m->pool == free[0]->pool))
> +                     free[nb_free++] = m;
> +             else {
> +                     rte_mempool_put_bulk(free[0]->pool, (void **)free,
> +                             nb_free);
> +                     free[0] = m;
> +                     nb_free = 1;
> +             }
> +     }

This assumes all transmits are from the same pool, which is not necessarily 
true.

Reply via email to