[dpdk-dev] [EXT] Re: [RFC PATCH v2] app/testpmd: tx pkt clones parameter in flowgen
Igor Russkikh
irusskikh at marvell.com
Mon Oct 12 21:37:06 CEST 2020
>> Here instead of recreating each packet separately, we use clones counter
>> to resend the same mbuf to the line multiple times.
>>
> Do you have any numbers on how much performance improvement gained?
Hi Ferruh,
Yes, I'll post that in v1. In general, on our 100G device in default
configuration I had to use 8-16 queues (read cores) to reach line rate on 1400
packet size. Will give exact numbers.
With clones I was able to see linerate on 1-2 tx queues. That of course
depends on if HW itself allows to handle that amount of traffic.
Reaching max PPS on small packet sizes obviously helps here as well.
>> + rte_exit(EXIT_FAILURE,
>> + "clones must be >= 0 and <= %d (burst)\n",
>> + nb_pkt_per_burst);
>
> Do you need to enforce the "n <= nb_pkt_per_burst", burst value can be
> changed
> later and trying to keep 'clones' values in sync with it is additional work.
>
> In the flowgen logic, with each burst a new packet is created anyway. So
> instead
> of enforcing the 'clones' number range, in documentation you can say the
> clone
> number can't exceed the burst number whatever it is set.
Looks reasonable, thanks.
>> uint16_t nb_pkt_per_burst = DEF_PKT_BURST; /**< Number of packets per
>> burst. */
>> +uint16_t nb_pkt_clones; /**< Number of tx packet clones to send. */
>> uint16_t mb_mempool_cache = DEF_MBUF_CACHE; /**< Size of mbuf mempool
>> cache. */
>>
>
> Both the parameter name, 'clones', and the variable name 'nb_pkt_clones' are
> too
> generic, and may mislead users. Please remember that testpms usage is very
> wide.
> You are updating very specifically the flowgen forwarding engine, can you
> please
> prefix the 'flowgen', like:
> 'flowgen-clones' & 'nb_pkt_flowgen_clones'.
> Also explicitly mention in the description that this is for flowgen clones.
Reasonable as well. Initially I was thinking about applying that to "tx-only"
as well, but the decided to stay with flowgen as more generic mode.
Thanks,
Igor
More information about the dev
mailing list