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 B5BBFA0A02; Thu, 14 Jan 2021 03:46:49 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2D2C0140D94; Thu, 14 Jan 2021 03:46:49 +0100 (CET) Received: from szxga05-in.huawei.com (szxga05-in.huawei.com [45.249.212.191]) by mails.dpdk.org (Postfix) with ESMTP id CC193140D8F for ; Thu, 14 Jan 2021 03:46:46 +0100 (CET) Received: from DGGEMS407-HUB.china.huawei.com (unknown [172.30.72.58]) by szxga05-in.huawei.com (SkyGuard) with ESMTP id 4DGTFd08QRzj7RV; Thu, 14 Jan 2021 10:45:41 +0800 (CST) Received: from [10.67.103.119] (10.67.103.119) by DGGEMS407-HUB.china.huawei.com (10.3.19.207) with Microsoft SMTP Server id 14.3.498.0; Thu, 14 Jan 2021 10:46:39 +0800 To: Wisam Monther , "ferruh.yigit@intel.com" , "wenzhuo.lu@intel.com" , "beilei.xing@intel.com" , "bernard.iremonger@intel.com" CC: "dev@dpdk.org" References: <1610099184-37328-1-git-send-email-oulijun@huawei.com> <53d7c028-e01f-d4e0-9a88-5c9a8b9bd083@huawei.com> From: oulijun Message-ID: <498765a0-e423-2f28-da71-4724f4b235c6@huawei.com> Date: Thu, 14 Jan 2021 10:46:39 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="iso-2022-jp"; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit X-Originating-IP: [10.67.103.119] X-CFilter-Loop: Reflected Subject: Re: [dpdk-dev] [RFC] 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/1/12 22:21, Wisam Monther 写道: > > >> -----Original Message----- >> From: oulijun >> Sent: Tuesday, January 12, 2021 4:13 PM >> To: Wisam Monther ; ferruh.yigit@intel.com; >> wenzhuo.lu@intel.com; beilei.xing@intel.com; >> bernard.iremonger@intel.com >> Cc: dev@dpdk.org >> Subject: Re: [dpdk-dev] [RFC] app/testpmd: support multi-process >> >> >> >> 在 2021/1/10 20:32, Wisam Monther 写道: >>> Hi, >>> >>>> -----Original Message----- >>>> From: dev On Behalf Of Lijun Ou >>>> Sent: Friday, January 8, 2021 11:46 AM >>>> To: ferruh.yigit@intel.com; wenzhuo.lu@intel.com; >>>> beilei.xing@intel.com; bernard.iremonger@intel.com >>>> Cc: dev@dpdk.org >>>> Subject: [dpdk-dev] [RFC] app/testpmd: support multi-process >>>> >>>> This patch adds multi-process support for testpmd. >>>> The test cmd example as follows: >>>> the primary cmd: >>>> ./testpmd -w xxx --file-prefix=xx -l 0-1 -n 2 -- -i\ >>>> --rxq=16 --txq=16 --num-procs=2 --proc-id=0 the secondary cmd: >>>> ./testpmd -w xxx --file-prefix=xx -l 2-3 -n 2 -- -i\ >>>> --rxq=16 --txq=16 --num-procs=2 --proc-id=1 >>>> >>>> Signed-off-by: Min Hu (Connor) >>>> Signed-off-by: Lijun Ou >>>> --- >>>> app/test-pmd/cmdline.c | 6 ++- >>>> app/test-pmd/config.c | 9 +++- >>>> app/test-pmd/parameters.c | 9 ++++ >>>> app/test-pmd/testpmd.c | 133 >> ++++++++++++++++++++++++++++++++-- >>>> ------------ >>>> app/test-pmd/testpmd.h | 7 +++ >>>> 5 files changed, 121 insertions(+), 43 deletions(-) >>>> >>> >>> +1 for having this support for testpmd. >>> >>> Some questions in my mind: >>> How are the queues distributing here? In example I see 16 defined, are >> they for one instance or for all? >>> Will all processes have same memory region? If installing one RTE_FLOW in >> one instance will be active for all? >>> Same question for detaching device in one instance, how it will reflect on >> others? >>> There is many other scenarios like this, how it will handle those? >>> >> Hi,Wisam Monther >> Firstly, thank you for your questions. According to the current >> implementation scheme, all queues are evenly allocated to different >> processes based on proc_num and proc_id。 >> The number of receiving queues, number of processes, and process ID are >> specified for the master and slave processes. After being created by the >> main process, the sending and receiving queues are evenly distributed to all >> processes. The following shows the calculation rule for the Testpmd to >> allocate queues to each process after the proc ID is specified. >> start(queue start id) = proc_id * nb_q / num_procs; >> end(queue end id) = start + nb_q / num_procs; >> >> For example, if support 16 txq and rxq >> the 0 ~7 for primary process >> the 8 ~15 for secondary process >> >> all process have the same memory region. > > Ok great, Thanks that' make sense. > What about the impact of installing RTE_FLOW rule into one instance, does it apply on all? I'm talking about SW side, not HW side? > The impact of detaching device from secondary/primary only, how it's designed to handle such cases? > It is my understanding that installing RTE_FLOW rule will affect a instance from our modification.But the all instance will changed from HW side. If detaching device from secondary only, it will not affect other processes. >> >> Thanks >> Lijun Ou >> >>> BRs, >>> Wisam Jaddo >>> . >>> > . >