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