This code could be more concise.

> +/*
> + * Returns -1 on fail, 0 on success
> + */

That is standard convention, and probably doesn't need a comment.

> +static inline int
> +vhost_enqueue_single_packed(struct virtio_net *dev, struct vhost_virtqueue 
> *vq,
> +     struct rte_mbuf *pkt, struct buf_vector *buf_vec, uint16_t *nr_descs)
> +{
> +     uint16_t nr_vec = 0;
> +
> +     uint16_t avail_idx;
> +     uint16_t max_tries, tries = 0;
> +
> +     uint16_t buf_id = 0;
> +     uint32_t len = 0;
> +     uint16_t desc_count;

You don't need extra blank lines in declarations.

> +
> +     uint32_t size = pkt->pkt_len + dev->vhost_hlen;
> +     avail_idx = vq->last_avail_idx;
> +
> +     if (rxvq_is_mergeable(dev))
> +             max_tries = vq->size - 1;
> +     else
> +             max_tries = 1;
> +
> +     uint16_t num_buffers = 0;
> +
> +     while (size > 0) {
> +             /*
> +              * if we tried all available ring items, and still
> +              * can't get enough buf, it means something abnormal
> +              * happened.
> +              */
> +             if (unlikely(++tries > max_tries))
> +                     return -1;
> +
> +             if (unlikely(fill_vec_buf_packed(dev, vq,
> +                                             avail_idx, &desc_count,
> +                                             buf_vec, &nr_vec,
> +                                             &buf_id, &len,
> +                                             VHOST_ACCESS_RW) < 0)) {
> +                     return -1;
> +             }

Brackets are not necessary on single statement return.

> +             len = RTE_MIN(len, size);
> +
> +             size -= len;
No need for blank line in between.

> +
> +             avail_idx += desc_count;
> +             if (avail_idx >= vq->size)
> +                     avail_idx -= vq->size;
> +
> +             *nr_descs += desc_count;
> +             num_buffers += 1;
> +     }
> +
> +     if (copy_mbuf_to_desc(dev, vq, pkt,
> +                                     buf_vec, nr_vec,
> +                                     num_buffers) < 0) {
> +             return 0;
> +     }
> +
> +     return 0;
> +}
> +
> +

Reply via email to