diff mbox series

[V1,net-next,5/5] net: ena: Add devlink documentation

Message ID 20230108103533.10104-6-darinzon@amazon.com (mailing list archive)
State Changes Requested
Delegated to: Netdev Maintainers
Headers show
Series Add devlink support to ena | expand

Checks

Context Check Description
netdev/tree_selection success Clearly marked for net-next
netdev/fixes_present success Fixes tag not required for -next series
netdev/subject_prefix success Link
netdev/cover_letter success Series has a cover letter
netdev/patch_count success Link
netdev/header_inline success No static functions without inline keyword in header files
netdev/build_32bit success Errors and warnings before: 0 this patch: 0
netdev/cc_maintainers warning 4 maintainers not CCed: linux-doc@vger.kernel.org edumazet@google.com pabeni@redhat.com corbet@lwn.net
netdev/build_clang success Errors and warnings before: 0 this patch: 0
netdev/module_param success Was 0 now: 0
netdev/verify_signedoff success Signed-off-by tag matches author and committer
netdev/check_selftest success No net selftest shell script
netdev/verify_fixes success No Fixes tag
netdev/build_allmodconfig_warn success Errors and warnings before: 0 this patch: 0
netdev/checkpatch success total: 0 errors, 0 warnings, 0 checks, 42 lines checked
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/source_inline success Was 0 now: 0

Commit Message

Arinzon, David Jan. 8, 2023, 10:35 a.m. UTC
Update the documentation with a devlink section, the
added files, as well as large LLQ enablement.

Signed-off-by: Shay Agroskin <shayagr@amazon.com>
Signed-off-by: David Arinzon <darinzon@amazon.com>
---
 .../device_drivers/ethernet/amazon/ena.rst    | 30 +++++++++++++++++++
 1 file changed, 30 insertions(+)

Comments

kernel test robot Jan. 8, 2023, 8:15 p.m. UTC | #1
Hi David,

I love your patch! Perhaps something to improve:

[auto build test WARNING on net-next/master]

url:    https://github.com/intel-lab-lkp/linux/commits/David-Arinzon/net-ena-Register-ena-device-to-devlink/20230108-183920
patch link:    https://lore.kernel.org/r/20230108103533.10104-6-darinzon%40amazon.com
patch subject: [PATCH V1 net-next 5/5] net: ena: Add devlink documentation
reproduce:
        # https://github.com/intel-lab-lkp/linux/commit/677aa62d9ff1bc108e291e910ad4e0d090530b7c
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review David-Arinzon/net-ena-Register-ena-device-to-devlink/20230108-183920
        git checkout 677aa62d9ff1bc108e291e910ad4e0d090530b7c
        make menuconfig
        # enable CONFIG_COMPILE_TEST, CONFIG_WARN_MISSING_DOCUMENTS, CONFIG_WARN_ABI_ERRORS
        make htmldocs

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

>> Documentation/networking/device_drivers/ethernet/amazon/ena.rst:258: WARNING: Explicit markup ends without a blank line; unexpected unindent.

vim +258 Documentation/networking/device_drivers/ethernet/amazon/ena.rst

   242	
   243	- The ENA device supports RSS that allows flexible Rx traffic
   244	  steering.
   245	- Toeplitz and CRC32 hash functions are supported.
   246	- Different combinations of L2/L3/L4 fields can be configured as
   247	  inputs for hash functions.
   248	- The driver configures RSS settings using the AQ SetFeature command
   249	  (ENA_ADMIN_RSS_HASH_FUNCTION, ENA_ADMIN_RSS_HASH_INPUT and
   250	  ENA_ADMIN_RSS_INDIRECTION_TABLE_CONFIG properties).
   251	- If the NETIF_F_RXHASH flag is set, the 32-bit result of the hash
   252	  function delivered in the Rx CQ descriptor is set in the received
   253	  SKB.
   254	- The user can provide a hash key, hash function, and configure the
   255	  indirection table through `ethtool(8)`.
   256	
   257	.. _`devlink support`:
 > 258	DEVLINK SUPPORT
   259	===============
   260	.. _`devlink`: https://www.kernel.org/doc/html/latest/networking/devlink/index.html
   261
Kuniyuki Iwashima Jan. 9, 2023, 6 a.m. UTC | #2
From:   David Arinzon <darinzon@amazon.com>
Date:   Sun, 8 Jan 2023 10:35:33 +0000
> Update the documentation with a devlink section, the
> added files, as well as large LLQ enablement.
> 
> Signed-off-by: Shay Agroskin <shayagr@amazon.com>
> Signed-off-by: David Arinzon <darinzon@amazon.com>
> ---
>  .../device_drivers/ethernet/amazon/ena.rst    | 30 +++++++++++++++++++

Each driver's devlink doc exists under Documentation/networking/devlink/ and
linked from index.html there.

We should duplicate this doc under Documentation/networking/devlink/ or link from
the index.html ?


>  1 file changed, 30 insertions(+)
> 
> diff --git a/Documentation/networking/device_drivers/ethernet/amazon/ena.rst b/Documentation/networking/device_drivers/ethernet/amazon/ena.rst
> index 8bcb173e0353..1229732a8c91 100644
> --- a/Documentation/networking/device_drivers/ethernet/amazon/ena.rst
> +++ b/Documentation/networking/device_drivers/ethernet/amazon/ena.rst
> @@ -53,6 +53,7 @@ ena_common_defs.h   Common definitions for ena_com layer.
>  ena_regs_defs.h     Definition of ENA PCI memory-mapped (MMIO) registers.
>  ena_netdev.[ch]     Main Linux kernel driver.
>  ena_ethtool.c       ethtool callbacks.
> +ena_devlink.[ch]    devlink files (see `devlink support`_ for more info)
>  ena_pci_id_tbl.h    Supported device IDs.
>  =================   ======================================================
>  
> @@ -253,6 +254,35 @@ RSS
>  - The user can provide a hash key, hash function, and configure the
>    indirection table through `ethtool(8)`.
>  
> +.. _`devlink support`:
> +DEVLINK SUPPORT
> +===============
> +.. _`devlink`: https://www.kernel.org/doc/html/latest/networking/devlink/index.html
> +
> +`devlink`_ supports toggling LLQ entry size between the default 128 bytes and 256
> +bytes.
> +A 128 bytes entry size allows for a maximum of 96 bytes of packet header size
> +which sometimes is not enough (e.g. when using tunneling).
> +Increasing LLQ entry size to 256 bytes, allows a maximum header size of 224
> +bytes. This comes with the penalty of reducing the number of LLQ entries in the
> +TX queue by 2 (i.e. from 1024 to 512).
> +
> +The entry size can be toggled by enabling/disabling the large_llq_header devlink
> +param and reloading the driver to make it take effect, e.g.
> +
> +.. code-block:: shell
> +
> +  sudo devlink dev param set pci/0000:00:06.0 name large_llq_header value true cmode driverinit
> +  sudo devlink dev reload pci/0000:00:06.0
> +
> +One way to verify that the TX queue entry size has indeed increased is to check
> +that the maximum TX queue depth is 512. This can be checked, for example, by
> +using:
> +
> +.. code-block:: shell
> +
> +  ethtool -g [interface]
> +
>  DATA PATH
>  =========
>  
> -- 
> 2.38.1
Arinzon, David Jan. 10, 2023, 3:20 p.m. UTC | #3
Good catch! Thanks.
This will be addressed in the next version of the patchset.

> -----Original Message-----
> From: Iwashima, Kuniyuki <kuniyu@amazon.co.jp>
> Sent: Monday, January 9, 2023 8:00 AM
> To: Arinzon, David <darinzon@amazon.com>
> Cc: Kiyanovski, Arthur <akiyano@amazon.com>; Saidi, Ali
> <alisaidi@amazon.com>; davem@davemloft.net; Itzko, Shahar
> <itzko@amazon.com>; kuba@kernel.org; Matushevsky, Alexander
> <matua@amazon.com>; Bshara, Nafea <nafea@amazon.com>; Dagan,
> Noam <ndagan@amazon.com>; netdev@vger.kernel.org; Abboud, Osama
> <osamaabb@amazon.com>; Bshara, Saeed <saeedb@amazon.com>;
> Agroskin, Shay <shayagr@amazon.com>; Machulsky, Zorik
> <zorik@amazon.com>; Iwashima, Kuniyuki <kuniyu@amazon.co.jp>
> Subject: Re: [PATCH V1 net-next 5/5] net: ena: Add devlink documentation
> 
> From:   David Arinzon <darinzon@amazon.com>
> Date:   Sun, 8 Jan 2023 10:35:33 +0000
> > Update the documentation with a devlink section, the added files, as
> > well as large LLQ enablement.
> >
> > Signed-off-by: Shay Agroskin <shayagr@amazon.com>
> > Signed-off-by: David Arinzon <darinzon@amazon.com>
> > ---
> >  .../device_drivers/ethernet/amazon/ena.rst    | 30
> +++++++++++++++++++
> 
> Each driver's devlink doc exists under Documentation/networking/devlink/
> and linked from index.html there.
> 
> We should duplicate this doc under Documentation/networking/devlink/
> or link from the index.html ?
> 
> 
> >  1 file changed, 30 insertions(+)
> >
> > diff --git
> > a/Documentation/networking/device_drivers/ethernet/amazon/ena.rst
> > b/Documentation/networking/device_drivers/ethernet/amazon/ena.rst
> > index 8bcb173e0353..1229732a8c91 100644
> > ---
> a/Documentation/networking/device_drivers/ethernet/amazon/ena.rst
> > +++
> b/Documentation/networking/device_drivers/ethernet/amazon/ena.rst
> > @@ -53,6 +53,7 @@ ena_common_defs.h   Common definitions for
> ena_com layer.
> >  ena_regs_defs.h     Definition of ENA PCI memory-mapped (MMIO)
> registers.
> >  ena_netdev.[ch]     Main Linux kernel driver.
> >  ena_ethtool.c       ethtool callbacks.
> > +ena_devlink.[ch]    devlink files (see `devlink support`_ for more info)
> >  ena_pci_id_tbl.h    Supported device IDs.
> >  =================
> ======================================================
> >
> > @@ -253,6 +254,35 @@ RSS
> >  - The user can provide a hash key, hash function, and configure the
> >    indirection table through `ethtool(8)`.
> >
> > +.. _`devlink support`:
> > +DEVLINK SUPPORT
> > +===============
> > +.. _`devlink`:
> >
> +https://www.kernel.org/doc/html/latest/networking/devlink/index.html
> > +
> > +`devlink`_ supports toggling LLQ entry size between the default 128
> > +bytes and 256 bytes.
> > +A 128 bytes entry size allows for a maximum of 96 bytes of packet
> > +header size which sometimes is not enough (e.g. when using tunneling).
> > +Increasing LLQ entry size to 256 bytes, allows a maximum header size
> > +of 224 bytes. This comes with the penalty of reducing the number of
> > +LLQ entries in the TX queue by 2 (i.e. from 1024 to 512).
> > +
> > +The entry size can be toggled by enabling/disabling the
> > +large_llq_header devlink param and reloading the driver to make it take
> effect, e.g.
> > +
> > +.. code-block:: shell
> > +
> > +  sudo devlink dev param set pci/0000:00:06.0 name large_llq_header
> > + value true cmode driverinit  sudo devlink dev reload
> > + pci/0000:00:06.0
> > +
> > +One way to verify that the TX queue entry size has indeed increased
> > +is to check that the maximum TX queue depth is 512. This can be
> > +checked, for example, by
> > +using:
> > +
> > +.. code-block:: shell
> > +
> > +  ethtool -g [interface]
> > +
> >  DATA PATH
> >  =========
> >
> > --
> > 2.38.1
diff mbox series

Patch

diff --git a/Documentation/networking/device_drivers/ethernet/amazon/ena.rst b/Documentation/networking/device_drivers/ethernet/amazon/ena.rst
index 8bcb173e0353..1229732a8c91 100644
--- a/Documentation/networking/device_drivers/ethernet/amazon/ena.rst
+++ b/Documentation/networking/device_drivers/ethernet/amazon/ena.rst
@@ -53,6 +53,7 @@  ena_common_defs.h   Common definitions for ena_com layer.
 ena_regs_defs.h     Definition of ENA PCI memory-mapped (MMIO) registers.
 ena_netdev.[ch]     Main Linux kernel driver.
 ena_ethtool.c       ethtool callbacks.
+ena_devlink.[ch]    devlink files (see `devlink support`_ for more info)
 ena_pci_id_tbl.h    Supported device IDs.
 =================   ======================================================
 
@@ -253,6 +254,35 @@  RSS
 - The user can provide a hash key, hash function, and configure the
   indirection table through `ethtool(8)`.
 
+.. _`devlink support`:
+DEVLINK SUPPORT
+===============
+.. _`devlink`: https://www.kernel.org/doc/html/latest/networking/devlink/index.html
+
+`devlink`_ supports toggling LLQ entry size between the default 128 bytes and 256
+bytes.
+A 128 bytes entry size allows for a maximum of 96 bytes of packet header size
+which sometimes is not enough (e.g. when using tunneling).
+Increasing LLQ entry size to 256 bytes, allows a maximum header size of 224
+bytes. This comes with the penalty of reducing the number of LLQ entries in the
+TX queue by 2 (i.e. from 1024 to 512).
+
+The entry size can be toggled by enabling/disabling the large_llq_header devlink
+param and reloading the driver to make it take effect, e.g.
+
+.. code-block:: shell
+
+  sudo devlink dev param set pci/0000:00:06.0 name large_llq_header value true cmode driverinit
+  sudo devlink dev reload pci/0000:00:06.0
+
+One way to verify that the TX queue entry size has indeed increased is to check
+that the maximum TX queue depth is 512. This can be checked, for example, by
+using:
+
+.. code-block:: shell
+
+  ethtool -g [interface]
+
 DATA PATH
 =========