netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jesper Dangaard Brouer <brouer@redhat.com>
To: Igor Russkikh <irusskikh@marvell.com>
Cc: brouer@redhat.com, <netdev@vger.kernel.org>,
	"David S . Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>
Subject: Re: [PATCH net-next 1/2] samples: pktgen: allow to specify delay parameter via new opt
Date: Tue, 26 Jan 2021 13:38:02 +0100	[thread overview]
Message-ID: <20210126133744.6419c183@carbon> (raw)
In-Reply-To: <20210122150517.7650-2-irusskikh@marvell.com>

On Fri, 22 Jan 2021 16:05:16 +0100
Igor Russkikh <irusskikh@marvell.com> wrote:

> DELAY may now be explicitly specified via common parameter -w

What are you actually using this for?

Notice there is also an option called "ratep" which can be used for
setting the packet rate per sec.  In the pktgen.c code, it will use the
"delay" variable.


> Signed-off-by: Igor Russkikh <irusskikh@marvell.com>
> ---
>  samples/pktgen/parameters.sh                           | 10 +++++++++-
>  samples/pktgen/pktgen_bench_xmit_mode_netif_receive.sh |  3 ---
>  samples/pktgen/pktgen_bench_xmit_mode_queue_xmit.sh    |  3 ---
>  samples/pktgen/pktgen_sample01_simple.sh               |  3 ---
>  samples/pktgen/pktgen_sample02_multiqueue.sh           |  1 -
>  samples/pktgen/pktgen_sample03_burst_single_flow.sh    |  3 ---
>  samples/pktgen/pktgen_sample04_many_flows.sh           |  3 ---
>  samples/pktgen/pktgen_sample05_flow_per_thread.sh      |  3 ---
>  .../pktgen_sample06_numa_awared_queue_irq_affinity.sh  |  1 -
>  9 files changed, 9 insertions(+), 21 deletions(-)
> 
> diff --git a/samples/pktgen/parameters.sh b/samples/pktgen/parameters.sh
> index ff0ed474fee9..70cc2878d479 100644
> --- a/samples/pktgen/parameters.sh
> +++ b/samples/pktgen/parameters.sh
> @@ -19,12 +19,13 @@ function usage() {
>      echo "  -v : (\$VERBOSE)   verbose"
>      echo "  -x : (\$DEBUG)     debug"
>      echo "  -6 : (\$IP6)       IPv6"
> +    echo "  -w : (\$DELAY)     Tx Delay value (us)"

I think the resolution is in nanosec.

>      echo ""
>  }
>  
>  ##  --- Parse command line arguments / parameters ---
>  ## echo "Commandline options:"
> -while getopts "s:i:d:m:p:f:t:c:n:b:vxh6" option; do
> +while getopts "s:i:d:m:p:f:t:c:n:b:w:vxh6" option; do
>      case $option in
>          i) # interface
>            export DEV=$OPTARG
> @@ -66,6 +67,10 @@ while getopts "s:i:d:m:p:f:t:c:n:b:vxh6" option; do
>  	  export BURST=$OPTARG
>  	  info "SKB bursting: BURST=$BURST"
>            ;;
> +        w)
> +	  export DELAY=$OPTARG
> +	  info "DELAY=$DELAY"
> +          ;;
>          v)
>            export VERBOSE=yes
>            info "Verbose mode: VERBOSE=$VERBOSE"
> @@ -100,6 +105,9 @@ if [ -z "$THREADS" ]; then
>      export THREADS=1
>  fi
>  
> +# default DELAY
> +[ -z "$DELAY" ] && export DELAY=0 # Zero means max speed
> +

Nice this allow us to remove some lines in the other scripts.

As all script have line:

   pg_set $dev "delay $DELAY"

I am the original author of the scripts, so I'm allowed to say that
doing this was actually kind of pointless, because the default delay
value is already zero. Although, you now took advantage of this
sillyness ;-)

If we want to use "ratep" instead, then we actually need to change all
those lines, because pg_set "ratep" and "delay" share the same setting
in the kernel.


>  export L_THREAD=$(( THREADS + F_THREAD - 1 ))
>  
>  if [ -z "$DEV" ]; then
> diff --git a/samples/pktgen/pktgen_bench_xmit_mode_netif_receive.sh b/samples/pktgen/pktgen_bench_xmit_mode_netif_receive.sh
> index 1b6204125d2d..30a610b541ad 100755
> --- a/samples/pktgen/pktgen_bench_xmit_mode_netif_receive.sh
> +++ b/samples/pktgen/pktgen_bench_xmit_mode_netif_receive.sh
> @@ -50,9 +50,6 @@ if [ -n "$DST_PORT" ]; then
>      validate_ports $UDP_DST_MIN $UDP_DST_MAX
>  fi
>  
> -# Base Config
> -DELAY="0"        # Zero means max speed
> -
>  # General cleanup everything since last run
>  pg_ctrl "reset"
>  
> diff --git a/samples/pktgen/pktgen_bench_xmit_mode_queue_xmit.sh b/samples/pktgen/pktgen_bench_xmit_mode_queue_xmit.sh
> index e607cb369b20..a6195bd77532 100755
> --- a/samples/pktgen/pktgen_bench_xmit_mode_queue_xmit.sh
> +++ b/samples/pktgen/pktgen_bench_xmit_mode_queue_xmit.sh
> @@ -33,9 +33,6 @@ if [ -n "$DST_PORT" ]; then
>      validate_ports $UDP_DST_MIN $UDP_DST_MAX
>  fi
>  
> -# Base Config
> -DELAY="0"        # Zero means max speed
> -
>  # General cleanup everything since last run
>  pg_ctrl "reset"
>  
> diff --git a/samples/pktgen/pktgen_sample01_simple.sh b/samples/pktgen/pktgen_sample01_simple.sh
> index a4e250b45dce..c2ad1fa32d3f 100755
> --- a/samples/pktgen/pktgen_sample01_simple.sh
> +++ b/samples/pktgen/pktgen_sample01_simple.sh
> @@ -31,9 +31,6 @@ if [ -n "$DST_PORT" ]; then
>      validate_ports $UDP_DST_MIN $UDP_DST_MAX
>  fi
>  
> -# Base Config
> -DELAY="0"        # Zero means max speed
> -
>  # Flow variation random source port between min and max
>  UDP_SRC_MIN=9
>  UDP_SRC_MAX=109
> diff --git a/samples/pktgen/pktgen_sample02_multiqueue.sh b/samples/pktgen/pktgen_sample02_multiqueue.sh
> index cb2495fcdc60..49e1e81a2945 100755
> --- a/samples/pktgen/pktgen_sample02_multiqueue.sh
> +++ b/samples/pktgen/pktgen_sample02_multiqueue.sh
> @@ -17,7 +17,6 @@ source ${basedir}/parameters.sh
>  [ -z "$COUNT" ] && COUNT="100000" # Zero means indefinitely
>  
>  # Base Config
> -DELAY="0"        # Zero means max speed
>  [ -z "$CLONE_SKB" ] && CLONE_SKB="0"
>  
>  # Flow variation random source port between min and max
> diff --git a/samples/pktgen/pktgen_sample03_burst_single_flow.sh b/samples/pktgen/pktgen_sample03_burst_single_flow.sh
> index fff50765a5aa..f9b67affb567 100755
> --- a/samples/pktgen/pktgen_sample03_burst_single_flow.sh
> +++ b/samples/pktgen/pktgen_sample03_burst_single_flow.sh
> @@ -42,9 +42,6 @@ if [ -n "$DST_PORT" ]; then
>      validate_ports $UDP_DST_MIN $UDP_DST_MAX
>  fi
>  
> -# Base Config
> -DELAY="0"  # Zero means max speed
> -
>  # General cleanup everything since last run
>  pg_ctrl "reset"
>  
[...]


-- 
Best regards,
  Jesper Dangaard Brouer
  MSc.CS, Principal Kernel Engineer at Red Hat
  LinkedIn: http://www.linkedin.com/in/brouer


  reply	other threads:[~2021-01-26 12:40 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-22 15:05 [PATCH net-next 0/2] pktgen: scripts improvements Igor Russkikh
2021-01-22 15:05 ` [PATCH net-next 1/2] samples: pktgen: allow to specify delay parameter via new opt Igor Russkikh
2021-01-26 12:38   ` Jesper Dangaard Brouer [this message]
2021-01-22 15:05 ` [PATCH net-next 2/2] samples: pktgen: new append mode Igor Russkikh
2021-01-26 13:09   ` Jesper Dangaard Brouer
2021-01-26 16:10     ` [EXT] " Igor Russkikh

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=20210126133744.6419c183@carbon \
    --to=brouer@redhat.com \
    --cc=davem@davemloft.net \
    --cc=irusskikh@marvell.com \
    --cc=kuba@kernel.org \
    --cc=netdev@vger.kernel.org \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).