From 0f841d29ed2f17f54bc4c13ef01f364ef4c633ac Mon Sep 17 00:00:00 2001 From: hkk Date: Sat, 20 Jul 2024 16:52:52 +0800 Subject: [PATCH] vitio_user: modify mbuf index for bond4 --- src/lstack/core/lstack_virtio.c | 6 ++++-- src/ltran/ltran_dfx.c | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/lstack/core/lstack_virtio.c b/src/lstack/core/lstack_virtio.c index 36159c9..f907a99 100644 --- a/src/lstack/core/lstack_virtio.c +++ b/src/lstack/core/lstack_virtio.c @@ -205,6 +205,7 @@ static int virtio_port_init(uint16_t port) int retval; uint16_t rx_queue_num = g_virtio_instance.rx_queue_num; uint16_t tx_queue_num = g_virtio_instance.tx_queue_num; + int mbuf_total_num = get_global_cfg_params()->num_cpu * get_global_cfg_params()->num_process; LSTACK_LOG(INFO, LSTACK, "virtio_port_init port= %u rx_queue_num=%u tx_queue_num=%u \n", port, rx_queue_num, tx_queue_num); @@ -226,7 +227,8 @@ static int virtio_port_init(uint16_t port) } for (uint16_t q = 0; q < tx_queue_num; q++) { - retval = rte_eth_tx_queue_setup(port, q, VIRTIO_TX_RX_RING_SIZE, rte_eth_dev_socket_id(port), NULL); + retval = rte_eth_tx_queue_setup(port, q % mbuf_total_num, VIRTIO_TX_RX_RING_SIZE, + rte_eth_dev_socket_id(port), NULL); if (retval < 0) { LSTACK_LOG(ERR, LSTACK, "rte_eth_tx_queue_setup failed (queue %u) retval=%d \n", q, retval); return retval; @@ -341,4 +343,4 @@ bool virtio_distribute_pkg_to_kernel(uint16_t dst_port) } return (port_map_get(dst_port) == 0); -} \ No newline at end of file +} diff --git a/src/ltran/ltran_dfx.c b/src/ltran/ltran_dfx.c index 005b09c..1bf5451 100644 --- a/src/ltran/ltran_dfx.c +++ b/src/ltran/ltran_dfx.c @@ -1177,11 +1177,11 @@ static void gazelle_print_lstack_stat_virtio(void *buf, const struct gazelle_sta struct gazelle_stat_lstack_virtio *virtio = &stat->data.virtio; printf("\nStatistics of lstack virtio:\n"); - printf("\nlstack_port_id =%u virtio_port_id =%u rx_queue_num =%u tx_queue_num =%u \n", + printf("\nlstack_port_id: %u virtio_port_id: %u rx_queue_num: %u tx_queue_num: %u \n", virtio->lstack_port_id, virtio->virtio_port_id, virtio->rx_queue_num, virtio->tx_queue_num); - printf("\n%-8s %-8s %-8s %-8s %-8s\n", "queue_id", "rx_pkg", "rx_drop", "tx_pkg", "tx_drop"); + printf("\n%-8s %-8s %-8s %-8s %-8s\n", "queue_id", "rx_pkg", "rx_drop", "tx_pkg", "tx_drop"); for (int i = 0; i < virtio->rx_queue_num; i++) { printf("%-8d %-8lu %-8lu %-8lu %-8lu\n", i, virtio->rx_pkg[i], virtio->rx_drop[i], virtio->tx_pkg[i], virtio->tx_drop[i]); -- 2.33.0