[dpdk-dev] [PATCH v8] app/testpmd: support multi-process

Min Hu (Connor) humin29 at huawei.com
Tue Mar 30 08:41:59 CEST 2021



在 2021/3/30 11:11, Ajit Khaparde 写道:
> On Mon, Mar 29, 2021 at 6:48 PM Min Hu (Connor) <humin29 at huawei.com> wrote:
>>
>> From: Lijun Ou <oulijun at huawei.com>
>>
>> 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) <humin29 at huawei.com>
>> Signed-off-by: Lijun Ou <oulijun at huawei.com>
> Some minor nits below. Otherwise looks fine to me.
> Acked-by: Ajit Khaparde <ajit.khaparde at broadcom.com>
> 
Thanks Ajit.

Hi, Ferruh,
	Should I send v9 to fix the grammar bugs in doc which Ajit point
out or fix it in future?

>> ---
>> v8:
>> * Added warning info about queue numbers and process numbers.
>>
> :::snip::::
> 
>> +*   ``--rxq=N``
>> +
>> +    Set the number of Rx queues per port to N. N is the sum of queues used by primary
>> +    and secondary process. Primary process and secondary process should have separate
>> +    queues, and each should occupy at least one queue. Where N should be the multiple
>> +    of number of processes.
> of the number of processes.
> 
>> +
>> +*   ``--txq=N``
>> +
>> +    Set the number of Tx queues per port to N. N is the sum of queues used by primary
>> +    and secondary process. Primary process and secondary process should have separate
>> +    queues, and each should occupy at least one queue. Where N should be the multiple
>> +    of number of processes.
> of the number of processes.
> 
>> +
>> +*   ``--num-procs=N``
>> +
>> +    The number of processes which will be used.
>> +
> :::: snip ::::
>> +The number of rings should be a multiple of the number of processes. If not,
>> +redundant queues will exist after queues are allocated to processes. After RSS is
>> +enabled, packet loss occurs when traffic is sent to all processes at the same time.
>> +Some traffic enters redundant queues and cannot be forwarded.
>> +
>> +Most dev ops is supported in primary and secondary process. While secondary process
> Most dev ops are supported in the primary and secondary process. While....
> 
>> +is not permitted to allocate or release shared memory, so some ops are not supported
>> +as follows:
>> +``dev_configure``
>> +``dev_start``
>> +``dev_stop``
>> +``rx_queue_setup``
>> +``tx_queue_setup``
>> +``rx_queue_release``
>> +``tx_queue_release``
> :::: snip:::
> 


More information about the dev mailing list