DPDK patches and discussions
 help / color / mirror / Atom feed
From: Igor Russkikh <irusskikh@marvell.com>
To: Ferruh Yigit <ferruh.yigit@intel.com>, <dev@dpdk.org>
Cc: Rasesh Mody <rmody@marvell.com>,
	Devendra Singh Rawat <dsinghrawat@marvell.com>,
	Wenzhuo Lu <wenzhuo.lu@intel.com>,
	Beilei Xing <beilei.xing@intel.com>,
	Bernard Iremonger <bernard.iremonger@intel.com>,
	Stephen Hemminger <stephen@networkplumber.org>
Subject: Re: [dpdk-dev] [EXT] Re: [RFC PATCH v2] app/testpmd: tx pkt clones parameter in flowgen
Date: Mon, 12 Oct 2020 22:37:06 +0300
Message-ID: <144458cd-c45b-ae5d-29b7-c24f6f449484@marvell.com> (raw)
In-Reply-To: <dbfd19fc-da00-f337-96c4-ba2cbbf81749@intel.com>


>> 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

      reply	other threads:[~2020-10-12 19:37 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-25  9:07 [dpdk-dev] " Igor Russkikh
2020-10-12 18:13 ` Ferruh Yigit
2020-10-12 19:37   ` Igor Russkikh [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=144458cd-c45b-ae5d-29b7-c24f6f449484@marvell.com \
    --to=irusskikh@marvell.com \
    --cc=beilei.xing@intel.com \
    --cc=bernard.iremonger@intel.com \
    --cc=dev@dpdk.org \
    --cc=dsinghrawat@marvell.com \
    --cc=ferruh.yigit@intel.com \
    --cc=rmody@marvell.com \
    --cc=stephen@networkplumber.org \
    --cc=wenzhuo.lu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git