DPDK patches and discussions
 help / color / mirror / Atom feed
From: Ferruh Yigit <ferruh.yigit@intel.com>
To: Ed Czeck <ed.czeck@atomicrules.com>,
	dev@dpdk.org, bruce.richardson@intel.com
Cc: shepard.siegel@atomicrules.com, john.miller@atomicrules.com
Subject: Re: [dpdk-dev] [PATCH 2/2] net/ark: remove RTE_LIBRTE_ARK_PAD_TX configuration macro
Date: Tue, 1 Sep 2020 12:17:23 +0100	[thread overview]
Message-ID: <e27bedf9-339d-f26f-3d63-0fb08e76479c@intel.com> (raw)
In-Reply-To: <20200827161130.14978-2-ed.czeck@atomicrules.com>

On 8/27/2020 5:11 PM, Ed Czeck wrote:
> Replace behavior with RTE_LIBRTE_ARK_MIN_TX_PKTLEN
> with a default value of 0.
> Update documentation as needed.

Can you please use versions in the patches, it makes easier to follow them?
Like '[PATCH v4 2/2]', -v# option to "git format-patch" or "git send-email" does
it automatically for you.

Also a changelog history that documents what changes in each version helps, a
good place to put it is just below the '---' after sign off, this way although
it stays in the patch, it is removed automatically by git while merging the patch.

> 
> Signed-off-by: Ed Czeck <ed.czeck@atomicrules.com>
> ---
>  doc/guides/nics/ark.rst         | 16 ++++++++----
>  drivers/net/ark/ark_ethdev_tx.c | 43 ++++++++++++++++++---------------
>  drivers/net/ark/ark_logs.h      |  8 ------
>  3 files changed, 35 insertions(+), 32 deletions(-)
> 
> diff --git a/doc/guides/nics/ark.rst b/doc/guides/nics/ark.rst
> index c3ffcbbc2..c7ed4095f 100644
> --- a/doc/guides/nics/ark.rst
> +++ b/doc/guides/nics/ark.rst
> @@ -126,11 +126,10 @@ Configuration Information
>  
>    The following configuration options are available for the ARK PMD:
>  
> -   * **CONFIG_RTE_LIBRTE_ARK_PMD** (default y): Enables or disables inclusion
> -     of the ARK PMD driver in the DPDK compilation.
> -

Hi Ed,

Can you leave out this piece in this patch? Yes it will go away eventually, but
it is not related logically to this change. Let's leave removing it to the patch
that removes Makefile which will be removing all relevant pieces as a whole.

> -   * **CONFIG_RTE_LIBRTE_ARK_PAD_TX** (default y):  When enabled TX
> -     packets are padded to 60 bytes to support downstream MACS.
> +   * **RTE_LIBRTE_ARK_MIN_TX_PKTLEN** (default 0): Sets the minimum
> +     packet length for tx packets to the FPGA.  Packets less than this
> +     length are padded to meet the requirement. This allows padding to
> +     be offloaded or remain in host software.
>  
>  
>  Building DPDK
> @@ -144,6 +143,13 @@ By default the ARK PMD library will be built into the DPDK library.
>  For configuring and using UIO and VFIO frameworks, please also refer :ref:`the
>  documentation that comes with DPDK suite <linux_gsg>`.
>  
> +To build with a non-zero minimum tx packet length, set the above macro in your
> +CFLAGS environment prior to the meson build step. I.e.,
> +
> +    export CFLAGS="-DRTE_LIBRTE_ARK_MIN_TX_PKTLEN=60"
> +    meson build
> +
> +
>  Supported ARK RTL PCIe Instances
>  --------------------------------
>  
> diff --git a/drivers/net/ark/ark_ethdev_tx.c b/drivers/net/ark/ark_ethdev_tx.c
> index 72624deb3..52ce2ed41 100644
> --- a/drivers/net/ark/ark_ethdev_tx.c
> +++ b/drivers/net/ark/ark_ethdev_tx.c
> @@ -14,6 +14,11 @@
>  #define ARK_TX_META_OFFSET (RTE_PKTMBUF_HEADROOM - ARK_TX_META_SIZE)
>  #define ARK_TX_MAX_NOCHAIN (RTE_MBUF_DEFAULT_DATAROOM)
>  
> +#ifndef RTE_LIBRTE_ARK_MIN_TX_PKTLEN
> +#define ARK_MIN_TX_PKTLEN 0
> +#else
> +#define ARK_MIN_TX_PKTLEN RTE_LIBRTE_ARK_MIN_TX_PKTLEN
> +#endif
>  
>  /* ************************************************************************* */
>  struct ark_tx_queue {
> @@ -104,28 +109,28 @@ eth_ark_xmit_pkts(void *vtxq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
>  	     ++nb) {
>  		mbuf = tx_pkts[nb];
>  
> -		if (ARK_TX_PAD_TO_60) {
> -			if (unlikely(rte_pktmbuf_pkt_len(mbuf) < 60)) {
> -				/* this packet even if it is small can be split,
> -				 * be sure to add to the end mbuf
> +#if ARK_MIN_TX_PKTLEN != 0


Previous "if (...)" approach was better, compiler was checking the code
independent from 'RTE_LIBRTE_ARK_MIN_TX_PKTLEN' defined or not, and compiler was
optimizing out the code if it is not defined.
With the '#if' macro, we are losing the compiler check.

If there is no explicit reason, can you keep the old behavior here?



  reply	other threads:[~2020-09-01 11:17 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-19 15:35 [dpdk-dev] [PATCH] net/ark: fix meson build Ed Czeck
2020-08-19 16:29 ` Ferruh Yigit
2020-08-19 20:45 ` Ed Czeck
2020-08-20 11:16   ` Ferruh Yigit
2020-08-20 15:41     ` Ed Czeck
2020-08-21  9:44       ` Ferruh Yigit
2020-08-20 21:55 ` [dpdk-dev] [PATCH 1/2] net/ark: remove compile time log macros in favor of run time log control Ed Czeck
2020-08-20 21:55   ` [dpdk-dev] [PATCH 2/2] net/ark remove ARK_TX_PAD_TO_60 configuration macro Ed Czeck
2020-08-21  9:50     ` Ferruh Yigit
2020-08-24 13:36 ` [dpdk-dev] [PATCH 1/2] net/ark: remove compile time log macros in favor of run time log control Ed Czeck
2020-08-24 13:36   ` [dpdk-dev] [PATCH 2/2] net/ark: remove RTE_LIBRTE_ARK_PAD_TX configuration macro Ed Czeck
2020-08-24 14:55     ` Ferruh Yigit
2020-08-24 21:51       ` Ed Czeck
2020-08-25  7:43         ` Ferruh Yigit
2020-08-24 14:37   ` [dpdk-dev] [PATCH 1/2] net/ark: remove compile time log macros in favor of run time log control Ferruh Yigit
2020-08-24 14:40     ` Bruce Richardson
2020-08-24 15:09       ` Ferruh Yigit
2020-08-24 21:40         ` Ed Czeck
2020-08-25  7:44           ` Ferruh Yigit
2020-08-26 15:24 ` Ed Czeck
2020-08-26 15:24   ` [dpdk-dev] [PATCH 2/2] net/ark: remove RTE_LIBRTE_ARK_PAD_TX configuration macro Ed Czeck
2020-08-27 16:11 ` [dpdk-dev] [PATCH 1/2] net/ark: remove compile time log macros in favor of run time log control Ed Czeck
2020-08-27 16:11   ` [dpdk-dev] [PATCH 2/2] net/ark: remove RTE_LIBRTE_ARK_PAD_TX configuration macro Ed Czeck
2020-09-01 11:17     ` Ferruh Yigit [this message]
2020-09-08 19:20 ` [dpdk-dev] [PATCH v7 1/2] net/ark: remove compile time log macros in favor of run time log control Ed Czeck
2020-09-08 19:20   ` [dpdk-dev] [PATCH v7 2/2] net/ark: remove RTE_LIBRTE_ARK_PAD_TX configuration macro Ed Czeck
2020-09-09 13:33   ` [dpdk-dev] [PATCH v7 1/2] net/ark: remove compile time log macros in favor of run time log control Ferruh Yigit

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=e27bedf9-339d-f26f-3d63-0fb08e76479c@intel.com \
    --to=ferruh.yigit@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=ed.czeck@atomicrules.com \
    --cc=john.miller@atomicrules.com \
    --cc=shepard.siegel@atomicrules.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
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).