net/ena: restructure the llq policy user setting
PATCH 1/1 net/ena: restructure the llq policy user setting
From: Shai Brandes <[email protected]>
Replaced enable_llq, normal_llq_hdr and large_llq_hdr devargs with a new shared devarg named llq_policy that implements the same logic and accepts the following values:
0 - Disable LLQ.
Use with extreme caution as it leads to a huge performance degradation on AWS instances built with Nitro v4 onwards.
1 - Accept device recommended LLQ policy (Default).
Device can recommend normal or large LLQ policy.
2 - Enforce normal LLQ policy.
3 - Enforce large LLQ policy.
Required for packets with header that exceed 96 bytes on AWS instances built with Nitro v2 and earlier.
--- doc/guides/nics/ena.rst | 20 ++--- doc/guides/rel_notes/release_24_11.rst | 8 ++ drivers/net/ena/ena_ethdev.c | 103 ++++++++----------------- drivers/net/ena/ena_ethdev.h | 3 - 4 files changed, 48 insertions(+), 86 deletions(-)
doc/guides/nics/ena.rst +7 -13
@@ -107,11 +107,14 @@ Configuration Runtime Configuration ^^^^^^^^^^^^^^^^^^^^^ - * **large_llq_hdr** (default 0) + * **llq_policy** (default 1) - Enables or disables usage of large LLQ headers. This option will have - effect only if the device also supports large LLQ headers. Otherwise, the - default value will be used. + Controls whether use device recommended header policy or override it. + 0 - Disable LLQ (Use with extreme caution as it leads to a huge performance + degradation on AWS instances built with Nitro v4 onwards). + 1 - Accept device recommended LLQ policy (Default). + 2 - Enforce normal LLQ policy. + 3 - Enforce large LLQ policy. * **normal_llq_hdr** (default 0)
@@ -126,15 +129,6 @@ Runtime Configuration timer service. Setting this parameter to 0 disables this feature. Maximum allowed value is 60 seconds. - * **enable_llq** (default 1) - - Determines whenever the driver should use the LLQ (if it's available) or - not. - - **NOTE: On the 6th generation AWS instances disabling LLQ may lead to a - huge performance degradation. In general disabling LLQ is highly not - recommended!** - * **control_poll_interval** (default 0) Enable polling-based functionality of the admin queues,
doc/guides/rel_notes/release_24_11.rst +8 -0
@@ -75,6 +75,12 @@ New Features registers by module names and get the information (names, values and other attributes) of the filtered registers. +* **Updated Amazon ENA (Elastic Network Adapter) net driver.** + + * Modified the PMD API that controls the LLQ header policy. + * Replaced ``enable_llq``, ``normal_llq_hdr`` and ``large_llq_hdr`` devargs + with a new shared devarg ``llq_policy`` that keeps the same logic. + * **Updated Cisco enic driver.** * Added SR-IOV VF support.
@@ -112,6 +118,8 @@ API Changes Also, make sure to start the actual text at the margin. ======================================================= +* drivers/net/ena: Removed ``enable_llq``, ``normal_llq_hdr`` and ``large_llq_hdr`` devargs + and replaced it with a new shared devarg ``llq_policy`` that keeps the same logic. ABI Changes -----------
drivers/net/ena/ena_ethdev.c +33 -70
181 lines not on this page · raw message
drivers/net/ena/ena_ethdev.h +0 -3
@@ -337,9 +337,6 @@ struct ena_adapter {uint32_t active_aenq_groups;bool trigger_reset; -bool enable_llq; -bool use_large_llq_hdr; -bool use_normal_llq_hdr;ena_llq_policy llq_header_policy;uint32_t last_tx_comp_qid;
Signature · 1 line
2.17.1
Ferruh Yigit
AppliedQuoted 15 lines · On 10/6/2024 1:32 PM, [email protected] wrote:
From: Shai Brandes <[email protected]>
Replaced
enable_llq,normal_llq_hdrandlarge_llq_hdrdevargs with a new shared devarg namedllq_policythat implements the same logic and accepts the following values:
0 - Disable LLQ.
Use with extreme caution as it leads to a huge performance degradation on AWS instances built with Nitro v4 onwards.
1 - Accept device recommended LLQ policy (Default).
Device can recommend normal or large LLQ policy.
2 - Enforce normal LLQ policy.
3 - Enforce large LLQ policy.
Required for packets with header that exceed 96 bytes on AWS instances built with Nitro v2 and earlier.
Quoted 3 lines
Signed-off-by Shai Brandes <[email protected]>Reviewed-by Amit Bernstein <[email protected]>
Applied to dpdk-next-net/main, thanks.