vhost: export queue free entries
[dpdk.git] / examples / tep_termination / main.c
index b8297dd..fb0c7fc 100644 (file)
@@ -568,8 +568,8 @@ virtio_tx_route(struct vhost_dev *vdev, struct rte_mbuf *m)
        const uint16_t lcore_id = rte_lcore_id();
        struct virtio_net *dev = vdev->dev;
 
-       RTE_LOG(DEBUG, VHOST_DATA, "(%" PRIu64 ") TX: MAC address is external\n",
-               dev->device_fh);
+       RTE_LOG(DEBUG, VHOST_DATA, "(%d) TX: MAC address is external\n",
+               dev->vid);
 
        /* Add packet to the port tx queue */
        tx_q = &lcore_tx_queue[lcore_id];
@@ -578,8 +578,8 @@ virtio_tx_route(struct vhost_dev *vdev, struct rte_mbuf *m)
        tx_q->m_table[len] = m;
        len++;
        if (enable_stats) {
-               dev_statistics[dev->device_fh].tx_total++;
-               dev_statistics[dev->device_fh].tx++;
+               dev_statistics[dev->vid].tx_total++;
+               dev_statistics[dev->vid].tx++;
        }
 
        if (unlikely(len == MAX_PKT_BURST)) {
@@ -709,11 +709,11 @@ switch_worker(__rte_unused void *arg)
                                        * must be less than virtio queue size
                                        */
                                        if (enable_retry && unlikely(rx_count >
-                                               rte_vring_available_entries(dev, VIRTIO_RXQ))) {
+                                               rte_vhost_avail_entries(dev->vid, VIRTIO_RXQ))) {
                                                for (retry = 0; retry < burst_rx_retry_num;
                                                        retry++) {
                                                        rte_delay_us(burst_rx_delay_time);
-                                                       if (rx_count <= rte_vring_available_entries(dev, VIRTIO_RXQ))
+                                                       if (rx_count <= rte_vhost_avail_entries(dev->vid, VIRTIO_RXQ))
                                                                break;
                                                }
                                        }
@@ -721,10 +721,10 @@ switch_worker(__rte_unused void *arg)
                                        ret_count = overlay_options.rx_handle(dev, pkts_burst, rx_count);
                                        if (enable_stats) {
                                                rte_atomic64_add(
-                                               &dev_statistics[dev->device_fh].rx_total_atomic,
+                                               &dev_statistics[dev->vid].rx_total_atomic,
                                                rx_count);
                                                rte_atomic64_add(
-                                               &dev_statistics[dev->device_fh].rx_atomic, ret_count);
+                                               &dev_statistics[dev->vid].rx_atomic, ret_count);
                                        }
                                        while (likely(rx_count)) {
                                                rx_count--;
@@ -944,8 +944,8 @@ destroy_device(volatile struct virtio_net *dev)
 
        if (ll_lcore_dev_cur == NULL) {
                RTE_LOG(ERR, VHOST_CONFIG,
-                       "(%"PRIu64") Failed to find the dev to be destroy.\n",
-                       dev->device_fh);
+                       "(%d) Failed to find the dev to be destroy.\n",
+                       dev->vid);
                return;
        }
 
@@ -992,8 +992,8 @@ destroy_device(volatile struct virtio_net *dev)
        /* Decrement number of device on the lcore. */
        lcore_info[vdev->coreid].lcore_ll->device_num--;
 
-       RTE_LOG(INFO, VHOST_DATA, "(%"PRIu64") Device has been removed "
-               "from data core\n", dev->device_fh);
+       RTE_LOG(INFO, VHOST_DATA, "(%d) Device has been removed "
+               "from data core\n", dev->vid);
 
        rte_free(vdev);
 
@@ -1014,8 +1014,8 @@ new_device(struct virtio_net *dev)
        vdev = rte_zmalloc("vhost device", sizeof(*vdev), RTE_CACHE_LINE_SIZE);
        if (vdev == NULL) {
                RTE_LOG(INFO, VHOST_DATA,
-                       "(%"PRIu64") Couldn't allocate memory for vhost dev\n",
-                       dev->device_fh);
+                       "(%d) Couldn't allocate memory for vhost dev\n",
+                       dev->vid);
                return -1;
        }
        vdev->dev = dev;
@@ -1023,9 +1023,9 @@ new_device(struct virtio_net *dev)
        /* Add device to main ll */
        ll_dev = get_data_ll_free_entry(&ll_root_free);
        if (ll_dev == NULL) {
-               RTE_LOG(INFO, VHOST_DATA, "(%"PRIu64") No free entry found in"
+               RTE_LOG(INFO, VHOST_DATA, "(%d) No free entry found in"
                        " linked list Device limit of %d devices per core"
-                       " has been reached\n", dev->device_fh, nb_devices);
+                       " has been reached\n", dev->vid, nb_devices);
                if (vdev->regions_hpa)
                        rte_free(vdev->regions_hpa);
                rte_free(vdev);
@@ -1033,7 +1033,7 @@ new_device(struct virtio_net *dev)
        }
        ll_dev->vdev = vdev;
        add_data_ll_entry(&ll_root_used, ll_dev);
-       vdev->rx_q = dev->device_fh;
+       vdev->rx_q = dev->vid;
 
        /* reset ready flag */
        vdev->ready = DEVICE_MAC_LEARNING;
@@ -1050,8 +1050,8 @@ new_device(struct virtio_net *dev)
        ll_dev = get_data_ll_free_entry(&lcore_info[core_add].lcore_ll->ll_root_free);
        if (ll_dev == NULL) {
                RTE_LOG(INFO, VHOST_DATA,
-                       "(%"PRIu64") Failed to add device to data core\n",
-                       dev->device_fh);
+                       "(%d) Failed to add device to data core\n",
+                       dev->vid);
                vdev->ready = DEVICE_SAFE_REMOVE;
                destroy_device(dev);
                rte_free(vdev->regions_hpa);
@@ -1065,7 +1065,7 @@ new_device(struct virtio_net *dev)
                        ll_dev);
 
        /* Initialize device stats */
-       memset(&dev_statistics[dev->device_fh], 0,
+       memset(&dev_statistics[dev->vid], 0,
                sizeof(struct device_statistics));
 
        /* Disable notifications. */
@@ -1074,8 +1074,8 @@ new_device(struct virtio_net *dev)
        lcore_info[vdev->coreid].lcore_ll->device_num++;
        dev->flags |= VIRTIO_DEV_RUNNING;
 
-       RTE_LOG(INFO, VHOST_DATA, "(%"PRIu64") Device has been added to data core %d\n",
-               dev->device_fh, vdev->coreid);
+       RTE_LOG(INFO, VHOST_DATA, "(%d) Device has been added to data core %d\n",
+               dev->vid, vdev->coreid);
 
        return 0;
 }
@@ -1099,7 +1099,7 @@ print_stats(void)
        struct virtio_net_data_ll *dev_ll;
        uint64_t tx_dropped, rx_dropped;
        uint64_t tx, tx_total, rx, rx_total, rx_ip_csum, rx_l4_csum;
-       uint32_t device_fh;
+       int vid;
        const char clr[] = { 27, '[', '2', 'J', '\0' };
        const char top_left[] = { 27, '[', '1', ';', '1', 'H', '\0' };
 
@@ -1113,22 +1113,22 @@ print_stats(void)
 
                dev_ll = ll_root_used;
                while (dev_ll != NULL) {
-                       device_fh = (uint32_t)dev_ll->vdev->dev->device_fh;
-                       tx_total = dev_statistics[device_fh].tx_total;
-                       tx = dev_statistics[device_fh].tx;
+                       vid = dev_ll->vdev->dev->vid;
+                       tx_total = dev_statistics[vid].tx_total;
+                       tx = dev_statistics[vid].tx;
                        tx_dropped = tx_total - tx;
 
                        rx_total = rte_atomic64_read(
-                               &dev_statistics[device_fh].rx_total_atomic);
+                               &dev_statistics[vid].rx_total_atomic);
                        rx = rte_atomic64_read(
-                               &dev_statistics[device_fh].rx_atomic);
+                               &dev_statistics[vid].rx_atomic);
                        rx_dropped = rx_total - rx;
                        rx_ip_csum = rte_atomic64_read(
-                               &dev_statistics[device_fh].rx_bad_ip_csum);
+                               &dev_statistics[vid].rx_bad_ip_csum);
                        rx_l4_csum = rte_atomic64_read(
-                               &dev_statistics[device_fh].rx_bad_l4_csum);
+                               &dev_statistics[vid].rx_bad_l4_csum);
 
-                       printf("\nStatistics for device %"PRIu32" ----------"
+                       printf("\nStatistics for device %d ----------"
                                        "\nTX total:            %"PRIu64""
                                        "\nTX dropped:          %"PRIu64""
                                        "\nTX successful:               %"PRIu64""
@@ -1137,7 +1137,7 @@ print_stats(void)
                                        "\nRX bad L4 csum:      %"PRIu64""
                                        "\nRX dropped:          %"PRIu64""
                                        "\nRX successful:               %"PRIu64"",
-                                       device_fh,
+                                       vid,
                                        tx_total,
                                        tx_dropped,
                                        tx,
@@ -1246,7 +1246,7 @@ main(int argc, char *argv[])
                snprintf(thread_name, RTE_MAX_THREAD_NAME_LEN, "print-stats");
                ret = rte_thread_setname(tid, thread_name);
                if (ret != 0)
-                       RTE_LOG(ERR, VHOST_CONFIG, "Cannot set print-stats name\n");
+                       RTE_LOG(DEBUG, VHOST_CONFIG, "Cannot set print-stats name\n");
        }
 
        /* Launch all data cores. */