service: use id in unregister
[dpdk.git] / examples / vhost / virtio_net.c
index cc2c3d8..1ab57f5 100644 (file)
@@ -80,7 +80,7 @@ vs_vhost_net_remove(struct vhost_dev *dev)
        free(dev->mem);
 }
 
-static inline int __attribute__((always_inline))
+static __rte_always_inline int
 enqueue_pkt(struct vhost_dev *dev, struct rte_vhost_vring *vr,
            struct rte_mbuf *m, uint16_t desc_idx)
 {
@@ -217,7 +217,7 @@ vs_enqueue_pkts(struct vhost_dev *dev, uint16_t queue_id,
        return count;
 }
 
-static inline int __attribute__((always_inline))
+static __rte_always_inline int
 dequeue_pkt(struct vhost_dev *dev, struct rte_vhost_vring *vr,
            struct rte_mbuf *m, uint16_t desc_idx,
            struct rte_mempool *mbuf_pool)
@@ -350,6 +350,9 @@ vs_dequeue_pkts(struct vhost_dev *dev, uint16_t queue_id,
        count = RTE_MIN(count, MAX_PKT_BURST);
        count = RTE_MIN(count, free_entries);
 
+       if (unlikely(count == 0))
+               return 0;
+
        /*
         * Retrieve all of the head indexes first and pre-update used entries
         * to avoid caching issues.
@@ -385,8 +388,6 @@ vs_dequeue_pkts(struct vhost_dev *dev, uint16_t queue_id,
                }
 
        }
-       if (!i)
-               return 0;
 
        queue->last_avail_idx += i;
        queue->last_used_idx += i;