From 8b94494d80e852a452dec37cd336fb2c38dac6a4 Mon Sep 17 00:00:00 2001 From: Xueming Li Date: Sat, 26 May 2018 23:15:20 +0800 Subject: [PATCH] app/testpmd: distribute queues to cores Current topology distribute forwarding streams to lcores by port, this make unbalanced loading when port number larger than 2: lcore 0: P0Q0->P1Q0, P0Q1->P1Q1 locre 1: P1Q0->P0Q0, P1Q1->P0Q1 If only one port has traffic, only one locre get fully loaded and the other one get no forwarding. Performance is bad as only one core doing forwarding in such case. This patch distributes forwarding streams by queue, try to get streams of each port handled by different lcore: lcore 0: P0Q0->P1Q0, P1Q0->P1Q0 locre 1: P0Q1->P0Q1, P1Q1->P0Q1 Signed-off-by: Xueming Li Acked-by: Bruce Richardson --- app/test-pmd/config.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index a17a7b57a6..14ccd68648 100644 --- a/app/test-pmd/config.c +++ b/app/test-pmd/config.c @@ -2177,15 +2177,11 @@ rss_fwd_config_setup(void) fs->tx_queue = rxq; fs->peer_addr = fs->tx_port; fs->retry_enabled = retry_enabled; - rxq = (queueid_t) (rxq + 1); - if (rxq < nb_q) - continue; - /* - * rxq == nb_q - * Restart from RX queue 0 on next RX port - */ - rxq = 0; rxp++; + if (rxp < nb_fwd_ports) + continue; + rxp = 0; + rxq++; } } -- 2.20.1