From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id F1B62A034F; Tue, 30 Mar 2021 03:48:47 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D56C4140EAB; Tue, 30 Mar 2021 03:48:47 +0200 (CEST) Received: from szxga07-in.huawei.com (szxga07-in.huawei.com [45.249.212.35]) by mails.dpdk.org (Postfix) with ESMTP id 94ACD406B4 for ; Tue, 30 Mar 2021 03:48:45 +0200 (CEST) Received: from DGGEMS408-HUB.china.huawei.com (unknown [172.30.72.58]) by szxga07-in.huawei.com (SkyGuard) with ESMTP id 4F8XNv62KCz9t77; Tue, 30 Mar 2021 09:46:39 +0800 (CST) Received: from [10.67.103.128] (10.67.103.128) by DGGEMS408-HUB.china.huawei.com (10.3.19.208) with Microsoft SMTP Server id 14.3.498.0; Tue, 30 Mar 2021 09:48:43 +0800 To: "Li, Xiaoyun" , "dev@dpdk.org" CC: "Yigit, Ferruh" , "ajit.khaparde@broadcom.com" References: <1614906276-34293-1-git-send-email-oulijun@huawei.com> <1616748778-10995-1-git-send-email-humin29@huawei.com> From: "Min Hu (Connor)" Message-ID: <73fda650-87ed-3760-00f8-c15a194d330d@huawei.com> Date: Tue, 30 Mar 2021 09:48:43 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.3.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [10.67.103.128] X-CFilter-Loop: Reflected Subject: Re: [dpdk-dev] [PATCH v7] app/testpmd: support multi-process X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 在 2021/3/29 15:51, Li, Xiaoyun 写道: > Hi > >> -----Original Message----- >> From: Min Hu (Connor) >> Sent: Friday, March 26, 2021 16:53 >> To: dev@dpdk.org >> Cc: Yigit, Ferruh ; ajit.khaparde@broadcom.com; Li, >> Xiaoyun >> Subject: [PATCH v7] app/testpmd: support multi-process >> >> From: Lijun Ou >> >> This patch adds multi-process support for testpmd. >> The test cmd example as follows: >> the primary cmd: >> ./dpdk-testpmd -a xxx --proc-type=auto -l 0-1 -- -i \ >> --rxq=4 --txq=4 --num-procs=2 --proc-id=0 >> >> the secondary cmd: >> ./dpdk-testpmd -a xxx --proc-type=auto -l 2-3 -- -i \ >> --rxq=4 --txq=4 --num-procs=2 --proc-id=1 >> >> Signed-off-by: Min Hu (Connor) >> Signed-off-by: Lijun Ou >> --- >> v7: >> * Fixed compiling error for unexpected unindent. >> >> v6: >> * Add rte flow description for multiple process. >> >> v5: >> * Fixed run_app.rst for multiple process description. >> * Fix compiling error. >> >> v4: >> * Fixed minimum vlaue of Rxq or Txq in doc. >> >> v3: >> * Fixed compiling error using gcc10.0. >> >> v2: >> * Added document for this patch. >> --- >> app/test-pmd/cmdline.c | 12 +++- >> app/test-pmd/config.c | 9 ++- >> app/test-pmd/parameters.c | 11 +++ >> app/test-pmd/testpmd.c | 127 ++++++++++++++++++++++------------ >> app/test-pmd/testpmd.h | 7 ++ >> doc/guides/testpmd_app_ug/run_app.rst | 99 ++++++++++++++++++++++++++ >> 6 files changed, 219 insertions(+), 46 deletions(-) >> >> diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index >> 14110eb..287d7a0 100644 >> --- a/app/test-pmd/cmdline.c >> +++ b/app/test-pmd/cmdline.c >> @@ -71,8 +71,6 @@ > > Why not just restrict queue numbers to be multiple of processes here in rss_fwd_config_setup()? > Or at least print a warning to tell users if it's not multiple, packet loss will happen. > Hi, fixed in v8, thanks. >> setup_fwd_config_of_each_lcore(&cur_fwd_config); >> - rxp = 0; rxq = 0; >> + start = proc_id * nb_q / num_procs; >> + end = start + nb_q / num_procs; >> + rxp = 0; >> + rxq = start; >> for (sm_id = 0; sm_id < cur_fwd_config.nb_fwd_streams; sm_id++) { >> struct fwd_stream *fs; >> >> @@ -2861,6 +2866,8 @@ rss_fwd_config_setup(void) >> continue; >> rxp = 0; >> rxq++; >> + if (rxq >= end) >> + rxq = start; >> } >> } >> >> +* ``--txq=N`` >> + >> + Set the number of Tx queues per port to N. N is the sum of queues used by >> primary >> + and secondary process. As primary process and secondary process should >> have separate >> + queues, and each should occupy at least one queue.where N should be no >> less than two. > > Where N should be the multiple of number of processes. > Fixed in v8, thanks. > BRs > Xiaoyun >> + >> 2.7.4 >