[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230302203045.4101652-1-shayagr@amazon.com>
Date: Thu, 2 Mar 2023 22:30:41 +0200
From: Shay Agroskin <shayagr@...zon.com>
To: David Miller <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>, <netdev@...r.kernel.org>
CC: Shay Agroskin <shayagr@...zon.com>,
"Woodhouse, David" <dwmw@...zon.com>,
"Machulsky, Zorik" <zorik@...zon.com>,
"Matushevsky, Alexander" <matua@...zon.com>,
Saeed Bshara <saeedb@...zon.com>,
"Wilson, Matt" <msw@...zon.com>,
"Liguori, Anthony" <aliguori@...zon.com>,
"Bshara, Nafea" <nafea@...zon.com>,
"Belgazal, Netanel" <netanel@...zon.com>,
"Saidi, Ali" <alisaidi@...zon.com>,
"Herrenschmidt, Benjamin" <benh@...zon.com>,
"Kiyanovski, Arthur" <akiyano@...zon.com>,
"Dagan, Noam" <ndagan@...zon.com>,
"Arinzon, David" <darinzon@...zon.com>,
"Itzko, Shahar" <itzko@...zon.com>,
"Abboud, Osama" <osamaabb@...zon.com>
Subject: [PATCH RFC v2 net-next 0/4] Add tx push buf len param to ethtool
Changed since v1:
- Added the new ethtool param to generic netlink specs
- Dropped dynamic advertisement of tx push buff support in ENA.
The driver will advertise it for all platforms
This patchset adds a new sub-configuration to ethtool get/set queue
params (ethtool -g) called 'tx-push-buf-len'.
This configuration specifies the maximum number of bytes of a
transmitted packet a driver can push directly to the underlying
device ('push' mode). The motivation for pushing some of the bytes to
the device has the advantages of
- Allowing a smart device to take fast actions based on the packet's
header
- Reducing latency for small packets that can be copied completely into
the device
This new param is practically similar to tx-copybreak value that can be
set using ethtool's tunable but conceptually serves a different purpose.
While tx-copybreak is used to reduce the overhead of DMA mapping and
makes no sense to use if less than the whole segment gets copied,
tx-push-buf-len allows to improve performance by analyzing the packet's
data (usually headers) before performing the DMA operation.
The configuration can be queried and set using the commands:
$ ethtool -g [interface]
# ethtool -G [interface] tx-push-buf-len [number of bytes]
This patchset also adds support for the new configuration in ENA driver
for which this parameter ensures efficient resources management on the
device side.
David Arinzon (1):
net: ena: Add an option to configure large LLQ headers
Shay Agroskin (3):
ethtool: Add support for configuring tx_push_buf_len
net: ena: Recalculate TX state variables every device reset
net: ena: Add support to changing tx_push_buf_len
Documentation/netlink/specs/ethtool.yaml | 8 +
Documentation/networking/ethtool-netlink.rst | 43 ++++--
drivers/net/ethernet/amazon/ena/ena_eth_com.h | 4 +
drivers/net/ethernet/amazon/ena/ena_ethtool.c | 51 ++++++-
drivers/net/ethernet/amazon/ena/ena_netdev.c | 138 ++++++++++++++----
drivers/net/ethernet/amazon/ena/ena_netdev.h | 15 +-
include/linux/ethtool.h | 14 +-
include/uapi/linux/ethtool_netlink.h | 2 +
net/ethtool/netlink.h | 2 +-
net/ethtool/rings.c | 28 +++-
10 files changed, 245 insertions(+), 60 deletions(-)
--
2.25.1
Powered by blists - more mailing lists