On Mon, Mar 29, 2021 at 6:48 PM Min Hu (Connor) wrote: > > 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 Some minor nits below. Otherwise looks fine to me. Acked-by: Ajit Khaparde > --- > 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:::