public inbox for dev@dpdk.org
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: Bruce Richardson <bruce.richardson@intel.com>
Cc: dev@dpdk.org
Subject: Re: [PATCH v2 00/36] combine multiple Intel scalar Tx paths
Date: Thu, 22 Jan 2026 22:26:33 -0800	[thread overview]
Message-ID: <20260122222053.55cb8cbf@phoenix.local> (raw)
In-Reply-To: <20260113151505.1871271-1-bruce.richardson@intel.com>

On Tue, 13 Jan 2026 15:14:24 +0000
Bruce Richardson <bruce.richardson@intel.com> wrote:

> The scalar Tx paths, with support for offloads and multiple mbufs
> per packet, are almost identical across drivers ice, i40e, iavf and
> the single-queue mode of idpf. Therefore, we can do some rework to
> combine these code paths into a single function which is parameterized
> by compile-time constants, allowing code saving to give us a single
> path to optimize and maintain - apart from edge cases like IPSec
> support in iavf.
> 
> The ixgbe driver has a number of similarities too, which we take
> advantage of where we can, but the overall descriptor format is
> sufficiently different that its main scalar code path is kept
> separate.
> 
> Once merged, we can then optimize the drivers a bit to improve
> performance, and also easily extend some drivers to use additional
> paths for better performance, e.g. add the "simple scalar" path
> to IDPF driver for better performance on platforms without AVX.
> 
> V2:
>  - reworked the simple-scalar path as well as full scalar one
>  - added simple scalar path support to idpf driver
>  - small cleanups, e.g. issues flagged by checkpatch
> 
> Bruce Richardson (36):
>   net/intel: create common Tx descriptor structure
>   net/intel: use common Tx ring structure
>   net/intel: create common post-Tx cleanup function
>   net/intel: consolidate definitions for Tx desc fields
>   net/intel: create separate header for Tx scalar fns
>   net/intel: add common fn to calculate needed descriptors
>   net/ice: refactor context descriptor handling
>   net/i40e: refactor context descriptor handling
>   net/idpf: refactor context descriptor handling
>   net/intel: consolidate checksum mask definition
>   net/intel: create common checksum Tx offload function
>   net/intel: create a common scalar Tx function
>   net/i40e: use common scalar Tx function
>   net/intel: add IPsec hooks to common Tx function
>   net/intel: support configurable VLAN tag insertion on Tx
>   net/iavf: use common scalar Tx function
>   net/i40e: document requirement for QinQ support
>   net/idpf: use common scalar Tx function
>   net/intel: avoid writing the final pkt descriptor twice
>   eal: add macro for marking assumed alignment
>   net/intel: write descriptors using non-volatile pointers
>   net/intel: remove unnecessary flag clearing
>   net/intel: mark mid-burst ring cleanup as unlikely
>   net/intel: add special handling for single desc packets
>   net/intel: use separate array for desc status tracking
>   net/ixgbe: use separate array for desc status tracking
>   net/intel: drop unused Tx queue used count
>   net/intel: remove index for tracking end of packet
>   net/intel: merge ring writes in simple Tx for ice and i40e
>   net/intel: consolidate ice and i40e buffer free function
>   net/intel: complete merging simple Tx paths
>   net/intel: use non-volatile stores in simple Tx function
>   net/intel: align scalar simple Tx path with vector logic
>   net/intel: use vector SW ring entry for simple path
>   net/intel: use vector mbuf cleanup from simple scalar path
>   net/idpf: enable simple Tx function
> 
>  doc/guides/nics/i40e.rst                      |  18 +
>  drivers/net/intel/common/tx.h                 | 116 ++-
>  drivers/net/intel/common/tx_scalar_fns.h      | 595 ++++++++++++++
>  drivers/net/intel/cpfl/cpfl_rxtx.c            |   8 +-
>  drivers/net/intel/i40e/i40e_fdir.c            |  34 +-
>  drivers/net/intel/i40e/i40e_rxtx.c            | 670 +++-------------
>  drivers/net/intel/i40e/i40e_rxtx.h            |  16 -
>  .../net/intel/i40e/i40e_rxtx_vec_altivec.c    |  25 +-
>  drivers/net/intel/i40e/i40e_rxtx_vec_avx2.c   |  36 +-
>  drivers/net/intel/i40e/i40e_rxtx_vec_avx512.c |  52 +-
>  drivers/net/intel/i40e/i40e_rxtx_vec_common.h |   6 +-
>  drivers/net/intel/i40e/i40e_rxtx_vec_neon.c   |  25 +-
>  drivers/net/intel/iavf/iavf_rxtx.c            | 642 ++++-----------
>  drivers/net/intel/iavf/iavf_rxtx.h            |  30 +-
>  drivers/net/intel/iavf/iavf_rxtx_vec_avx2.c   |  55 +-
>  drivers/net/intel/iavf/iavf_rxtx_vec_avx512.c | 104 +--
>  drivers/net/intel/iavf/iavf_rxtx_vec_common.h |  36 +-
>  drivers/net/intel/ice/ice_dcf_ethdev.c        |  10 +-
>  drivers/net/intel/ice/ice_rxtx.c              | 737 ++++--------------
>  drivers/net/intel/ice/ice_rxtx.h              |  15 -
>  drivers/net/intel/ice/ice_rxtx_vec_avx2.c     |  55 +-
>  drivers/net/intel/ice/ice_rxtx_vec_avx512.c   |  53 +-
>  drivers/net/intel/ice/ice_rxtx_vec_common.h   |  43 +-
>  drivers/net/intel/idpf/idpf_common_device.h   |   2 +
>  drivers/net/intel/idpf/idpf_common_rxtx.c     | 315 ++------
>  drivers/net/intel/idpf/idpf_common_rxtx.h     |  24 +-
>  .../net/intel/idpf/idpf_common_rxtx_avx2.c    |  53 +-
>  .../net/intel/idpf/idpf_common_rxtx_avx512.c  |  55 +-
>  drivers/net/intel/idpf/idpf_rxtx.c            |  43 +-
>  drivers/net/intel/idpf/idpf_rxtx_vec_common.h |   6 +-
>  drivers/net/intel/ixgbe/ixgbe_rxtx.c          | 103 ++-
>  .../net/intel/ixgbe/ixgbe_rxtx_vec_common.c   |   3 +-
>  lib/eal/include/rte_common.h                  |   6 +
>  33 files changed, 1565 insertions(+), 2426 deletions(-)
>  create mode 100644 drivers/net/intel/common/tx_scalar_fns.h
> 

Series-Acked-by: Stephen Hemminger <stephen@networkplumber.org>

Love to see common code and "fix it once"
It was too large for the batch scripts, but here is AI review.
It sees only minor stuff which you could fix (or skip).

# DPDK Patch Review: Intel Tx Consolidation Series

**Series:** [PATCH v2 01-36/36] Intel Tx driver consolidation  
**Author:** Bruce Richardson <bruce.richardson@intel.com>  
**Review Date:** 2026-01-22  
**Review Against:** AGENTS.md (DPDK Code Review Guidelines)

---

## Executive Summary

This 36-patch series consolidates Tx descriptor handling across Intel network drivers (i40e, iavf, ice, idpf, ixgbe). Overall the patches are **well-structured** with proper code organization, but there are several **issues requiring attention** before merge.

| Severity | Count | Summary |
|----------|-------|---------|
| **Error** | 1 | Source code line exceeds 100 characters |
| **Warning** | 5 | Commit message style issues, double blank lines |
| **Info** | 2 | Minor style observations |

---

## Detailed Findings

### ERRORS (Must Fix)

#### 1. Source Code Line Length Violation
**Patch 17/36:** `net/i40e: document requirement for QinQ support`  
**Location:** `drivers/net/intel/i40e/i40e_rxtx.c`  
**Issue:** Line exceeds 100-character limit (135 characters)

```c
PMD_DRV_LOG(WARNING, "Double VLAN insertion may not work correctly without RTE_ETH_RX_OFFLOAD_VLAN_EXTEND set in Rx configuration.");
```

**Fix:** Split the log message across multiple lines or into multiple log calls:
```c
PMD_DRV_LOG(WARNING, "Double VLAN insertion may not work correctly "
            "without RTE_ETH_RX_OFFLOAD_VLAN_EXTEND in Rx config.");
```

---

### WARNINGS (Should Fix)

#### 2. Commit Body Starts with Lowercase
**Patches 08/36 and 09/36**

Per DPDK convention, commit message body should start with a capital letter.

| Patch | Current | Should Be |
|-------|---------|-----------|
| 08/36 `net/i40e: refactor context descriptor handling` | "move all context..." | "Move all context..." |
| 09/36 `net/idpf: refactor context descriptor handling` | "move all context..." | "Move all context..." |

---

#### 3. Double Blank Lines in Code
The following patches add consecutive blank lines, which is a minor style violation:

| Patch | Location | Line |
|-------|----------|------|
| 06/36 `net/intel: add common fn to calculate needed` | tx_scalar_fns.h | ~line 5093 |
| 07/36 `net/ice: refactor context descriptor handling` | ice_rxtx.c | ~line 5379 |
| 36/36 `net/idpf: enable simple Tx function` | idpf_common_rxtx.c | After `idpf_dp_singleq_xmit_pkts_simple()` |

**Example from Patch 36:**
```c
+uint16_t
+idpf_dp_singleq_xmit_pkts_simple(void *tx_queue, struct rte_mbuf **tx_pkts,
+				   uint16_t nb_pkts)
+{
+	return ci_xmit_pkts_simple(tx_queue, tx_pkts, nb_pkts);
+}
+
+
+/* TX prep functions */   <-- Extra blank line above
```

---

#### 4. "TX" vs "Tx" in Comments
Multiple patches use "TX" in comments rather than the DPDK-preferred "Tx":

- Patch 04: `/* Common TX Descriptor QW1 Field Definitions */`
- Patch 06: `/* Calculate the number of TX descriptors needed for each pkt */`
- Patch 07: `/* TX context descriptor based double VLAN insert */`
- Patch 12: `/* Setup TX Descriptor */`
- And others...

While not strictly an error (comments aren't checked as strictly as commit messages), consistency with "Tx" is preferred per `devtools/words-case.txt`.

---

#### 5. EAL Macro Addition Without Release Notes
**Patch 20/36:** `eal: add macro for marking assumed alignment`

Adds `__rte_assume_aligned` macro to `lib/eal/include/rte_common.h`. Consider adding a release notes entry for this new public macro, even though it's primarily for internal optimization use.

---

### INFO (Consider)

#### 6. Subject Line Truncation
**Patch 06/36:** Subject line `net/intel: add common fn to calculate needed` appears truncated (missing "descriptors").

While technically within the 60-char limit, the full meaning is lost. Consider:
- `net/intel: add fn to calc needed descriptors` (43 chars)
- Or keep two-line format in cover letter

---

#### 7. New Internal API Properly Tagged
**Patch 36/36** correctly adds `__rte_internal` tag for `idpf_dp_singleq_xmit_pkts_simple()` in the header file (not .c file). ✓

---

## Compliance Summary

### Commit Message Checks

| Check | Status |
|-------|--------|
| Subject ≤60 chars | ✓ All pass (35-51 chars) |
| Lowercase after prefix | ✓ All pass |
| No trailing period | ✓ All pass |
| Signed-off-by present | ✓ All 36 patches |
| Body ≤75 chars | ✓ All pass |
| Imperative mood | ✓ All pass |
| Correct prefix (net/intel, net/ice, etc.) | ✓ All pass |
| Body starts with capital | ✗ 2 failures (patches 8, 9) |

### Code Style Checks

| Check | Status |
|-------|--------|
| Lines ≤100 chars | ✗ 1 failure (patch 17) |
| No trailing whitespace | ✓ All pass |
| SPDX headers on new files | ✓ Pass (patch 5 new file) |
| `__rte_internal` in headers only | ✓ Pass |
| No double blank lines | ✗ 3 failures |
| Proper Tx/Rx capitalization | ⚠ Comments use "TX" |

### License Checks

| Check | Status |
|-------|--------|
| New file has SPDX | ✓ `tx_scalar_fns.h` has BSD-3-Clause |
| Copyright follows SPDX | ✓ Pass |
| Blank line before code | ✓ Pass |

---

## Files Changed Summary

- **22 files** modified in patch 1 alone
- **New file created:** `drivers/net/intel/common/tx_scalar_fns.h`
- **Drivers affected:** i40e, iavf, ice, idpf, cpfl, ixgbe
- **Documentation updated:** `doc/guides/nics/i40e.rst` (patch 17)

---

## Recommendations

1. **Critical:** Fix the 135-char line in patch 17 before merge
2. **Important:** Capitalize "Move" in patches 8 and 9 commit messages
3. **Minor:** Remove extra blank lines in patches 6, 7, and 36
4. **Optional:** Consider release notes entry for new EAL macro
5. **Optional:** Standardize comment style to use "Tx" instead of "TX"

---

## Verdict

**Conditional Accept** - Series is well-designed and the code consolidation is valuable. Fix the error (line length) and warnings (commit message capitalization, double blank lines) before merge.




  parent reply	other threads:[~2026-01-24 17:09 UTC|newest]

Thread overview: 274+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-19 17:25 [RFC PATCH 00/27] combine multiple Intel scalar Tx paths Bruce Richardson
2025-12-19 17:25 ` [RFC PATCH 01/27] net/intel: create common Tx descriptor structure Bruce Richardson
2025-12-19 17:25 ` [RFC PATCH 02/27] net/intel: use common tx ring structure Bruce Richardson
2025-12-19 17:25 ` [RFC PATCH 03/27] net/intel: create common post-Tx cleanup function Bruce Richardson
2025-12-19 17:25 ` [RFC PATCH 04/27] net/intel: consolidate definitions for Tx desc fields Bruce Richardson
2025-12-19 17:25 ` [RFC PATCH 05/27] net/intel: create separate header for Tx scalar fns Bruce Richardson
2025-12-19 17:25 ` [RFC PATCH 06/27] net/intel: add common fn to calculate needed descriptors Bruce Richardson
2025-12-19 17:25 ` [RFC PATCH 07/27] net/ice: refactor context descriptor handling Bruce Richardson
2025-12-19 17:25 ` [RFC PATCH 08/27] net/i40e: " Bruce Richardson
2025-12-19 17:25 ` [RFC PATCH 09/27] net/idpf: " Bruce Richardson
2025-12-19 17:25 ` [RFC PATCH 10/27] net/intel: consolidate checksum mask definition Bruce Richardson
2025-12-19 17:25 ` [RFC PATCH 11/27] net/intel: create common checksum Tx offload function Bruce Richardson
2025-12-19 17:25 ` [RFC PATCH 12/27] net/intel: create a common scalar Tx function Bruce Richardson
2025-12-19 17:25 ` [RFC PATCH 13/27] net/i40e: use " Bruce Richardson
2025-12-19 17:25 ` [RFC PATCH 14/27] net/intel: add IPSec hooks to common " Bruce Richardson
2025-12-19 17:25 ` [RFC PATCH 15/27] net/intel: support configurable VLAN tag insertion on Tx Bruce Richardson
2025-12-19 17:25 ` [RFC PATCH 16/27] net/iavf: use common scalar Tx function Bruce Richardson
2025-12-19 17:25 ` [RFC PATCH 17/27] net/i40e: document requirement for QinQ support Bruce Richardson
2025-12-19 17:25 ` [RFC PATCH 18/27] net/idpf: use common scalar Tx function Bruce Richardson
2025-12-19 17:25 ` [RFC PATCH 19/27] net/intel: avoid writing the final pkt descriptor twice Bruce Richardson
2025-12-19 17:25 ` [RFC PATCH 20/27] net/intel: write descriptors using non-volatile pointers Bruce Richardson
2025-12-20  8:43   ` Morten Brørup
2025-12-22  9:50     ` Bruce Richardson
2025-12-19 17:25 ` [RFC PATCH 21/27] net/intel: remove unnecessary flag clearing Bruce Richardson
2025-12-19 17:25 ` [RFC PATCH 22/27] net/intel: mark mid-burst ring cleanup as unlikely Bruce Richardson
2025-12-19 17:25 ` [RFC PATCH 23/27] net/intel: add special handling for single desc packets Bruce Richardson
2025-12-19 17:25 ` [RFC PATCH 24/27] net/intel: use separate array for desc status tracking Bruce Richardson
2025-12-19 17:25 ` [RFC PATCH 25/27] net/ixgbe: " Bruce Richardson
2025-12-19 17:25 ` [RFC PATCH 26/27] net/intel: drop unused Tx queue used count Bruce Richardson
2025-12-19 17:25 ` [RFC PATCH 27/27] net/intel: remove index for tracking end of packet Bruce Richardson
2025-12-20  9:05   ` Morten Brørup
2026-01-13 15:14 ` [PATCH v2 00/36] combine multiple Intel scalar Tx paths Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 01/36] net/intel: create common Tx descriptor structure Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 02/36] net/intel: use common Tx ring structure Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 03/36] net/intel: create common post-Tx cleanup function Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 04/36] net/intel: consolidate definitions for Tx desc fields Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 05/36] net/intel: create separate header for Tx scalar fns Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 06/36] net/intel: add common fn to calculate needed descriptors Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 07/36] net/ice: refactor context descriptor handling Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 08/36] net/i40e: " Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 09/36] net/idpf: " Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 10/36] net/intel: consolidate checksum mask definition Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 11/36] net/intel: create common checksum Tx offload function Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 12/36] net/intel: create a common scalar Tx function Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 13/36] net/i40e: use " Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 14/36] net/intel: add IPsec hooks to common " Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 15/36] net/intel: support configurable VLAN tag insertion on Tx Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 16/36] net/iavf: use common scalar Tx function Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 17/36] net/i40e: document requirement for QinQ support Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 18/36] net/idpf: use common scalar Tx function Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 19/36] net/intel: avoid writing the final pkt descriptor twice Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 20/36] eal: add macro for marking assumed alignment Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 21/36] net/intel: write descriptors using non-volatile pointers Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 22/36] net/intel: remove unnecessary flag clearing Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 23/36] net/intel: mark mid-burst ring cleanup as unlikely Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 24/36] net/intel: add special handling for single desc packets Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 25/36] net/intel: use separate array for desc status tracking Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 26/36] net/ixgbe: " Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 27/36] net/intel: drop unused Tx queue used count Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 28/36] net/intel: remove index for tracking end of packet Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 29/36] net/intel: merge ring writes in simple Tx for ice and i40e Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 30/36] net/intel: consolidate ice and i40e buffer free function Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 31/36] net/intel: complete merging simple Tx paths Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 32/36] net/intel: use non-volatile stores in simple Tx function Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 33/36] net/intel: align scalar simple Tx path with vector logic Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 34/36] net/intel: use vector SW ring entry for simple path Bruce Richardson
2026-01-13 15:14   ` [PATCH v2 35/36] net/intel: use vector mbuf cleanup from simple scalar path Bruce Richardson
2026-01-13 15:15   ` [PATCH v2 36/36] net/idpf: enable simple Tx function Bruce Richardson
2026-01-13 17:17   ` [PATCH v2 00/36] combine multiple Intel scalar Tx paths Stephen Hemminger
2026-01-23  6:26   ` Stephen Hemminger [this message]
2026-01-26  9:02     ` Bruce Richardson
2026-01-30 11:41 ` [PATCH v3 " Bruce Richardson
2026-01-30 11:41   ` [PATCH v3 01/36] net/intel: create common Tx descriptor structure Bruce Richardson
2026-02-06  9:56     ` Loftus, Ciara
2026-01-30 11:41   ` [PATCH v3 02/36] net/intel: use common Tx ring structure Bruce Richardson
2026-02-06  9:59     ` Loftus, Ciara
2026-01-30 11:41   ` [PATCH v3 03/36] net/intel: create common post-Tx cleanup function Bruce Richardson
2026-02-06 10:07     ` Loftus, Ciara
2026-02-09 10:41       ` Bruce Richardson
2026-01-30 11:41   ` [PATCH v3 04/36] net/intel: consolidate definitions for Tx desc fields Bruce Richardson
2026-02-06 10:14     ` Loftus, Ciara
2026-02-09 10:43       ` Bruce Richardson
2026-01-30 11:41   ` [PATCH v3 05/36] net/intel: create separate header for Tx scalar fns Bruce Richardson
2026-02-06 10:23     ` Loftus, Ciara
2026-02-09 11:04       ` Bruce Richardson
2026-01-30 11:41   ` [PATCH v3 06/36] net/intel: add common fn to calculate needed descriptors Bruce Richardson
2026-02-06 10:25     ` Loftus, Ciara
2026-02-09 11:15       ` Bruce Richardson
2026-01-30 11:41   ` [PATCH v3 07/36] net/ice: refactor context descriptor handling Bruce Richardson
2026-02-06 10:47     ` Loftus, Ciara
2026-02-09 11:16       ` Bruce Richardson
2026-01-30 11:41   ` [PATCH v3 08/36] net/i40e: " Bruce Richardson
2026-02-06 10:54     ` Loftus, Ciara
2026-01-30 11:41   ` [PATCH v3 09/36] net/idpf: " Bruce Richardson
2026-02-06 10:59     ` Loftus, Ciara
2026-01-30 11:41   ` [PATCH v3 10/36] net/intel: consolidate checksum mask definition Bruce Richardson
2026-02-06 11:25     ` Loftus, Ciara
2026-02-09 11:40       ` Bruce Richardson
2026-02-09 15:00         ` Bruce Richardson
2026-01-30 11:41   ` [PATCH v3 11/36] net/intel: create common checksum Tx offload function Bruce Richardson
2026-02-06 11:37     ` Loftus, Ciara
2026-02-09 11:41       ` Bruce Richardson
2026-01-30 11:41   ` [PATCH v3 12/36] net/intel: create a common scalar Tx function Bruce Richardson
2026-02-06 12:01     ` Loftus, Ciara
2026-02-06 12:13       ` Bruce Richardson
2026-01-30 11:41   ` [PATCH v3 13/36] net/i40e: use " Bruce Richardson
2026-01-30 11:41   ` [PATCH v3 14/36] net/intel: add IPsec hooks to common " Bruce Richardson
2026-01-30 11:41   ` [PATCH v3 15/36] net/intel: support configurable VLAN tag insertion on Tx Bruce Richardson
2026-01-30 11:41   ` [PATCH v3 16/36] net/iavf: use common scalar Tx function Bruce Richardson
2026-01-30 11:41   ` [PATCH v3 17/36] net/i40e: document requirement for QinQ support Bruce Richardson
2026-01-30 11:41   ` [PATCH v3 18/36] net/idpf: use common scalar Tx function Bruce Richardson
2026-01-30 11:41   ` [PATCH v3 19/36] net/intel: avoid writing the final pkt descriptor twice Bruce Richardson
2026-01-30 11:41   ` [PATCH v3 20/36] eal: add macro for marking assumed alignment Bruce Richardson
2026-01-30 11:41   ` [PATCH v3 21/36] net/intel: write descriptors using non-volatile pointers Bruce Richardson
2026-01-30 11:41   ` [PATCH v3 22/36] net/intel: remove unnecessary flag clearing Bruce Richardson
2026-01-30 11:41   ` [PATCH v3 23/36] net/intel: mark mid-burst ring cleanup as unlikely Bruce Richardson
2026-01-30 11:41   ` [PATCH v3 24/36] net/intel: add special handling for single desc packets Bruce Richardson
2026-01-30 11:41   ` [PATCH v3 25/36] net/intel: use separate array for desc status tracking Bruce Richardson
2026-01-30 11:41   ` [PATCH v3 26/36] net/ixgbe: " Bruce Richardson
2026-01-30 11:41   ` [PATCH v3 27/36] net/intel: drop unused Tx queue used count Bruce Richardson
2026-01-30 11:41   ` [PATCH v3 28/36] net/intel: remove index for tracking end of packet Bruce Richardson
2026-01-30 11:41   ` [PATCH v3 29/36] net/intel: merge ring writes in simple Tx for ice and i40e Bruce Richardson
2026-01-30 11:41   ` [PATCH v3 30/36] net/intel: consolidate ice and i40e buffer free function Bruce Richardson
2026-01-30 11:41   ` [PATCH v3 31/36] net/intel: complete merging simple Tx paths Bruce Richardson
2026-01-30 11:41   ` [PATCH v3 32/36] net/intel: use non-volatile stores in simple Tx function Bruce Richardson
2026-01-30 11:42   ` [PATCH v3 33/36] net/intel: align scalar simple Tx path with vector logic Bruce Richardson
2026-01-30 11:42   ` [PATCH v3 34/36] net/intel: use vector SW ring entry for simple path Bruce Richardson
2026-01-30 11:42   ` [PATCH v3 35/36] net/intel: use vector mbuf cleanup from simple scalar path Bruce Richardson
2026-01-30 11:42   ` [PATCH v3 36/36] net/idpf: enable simple Tx function Bruce Richardson
2026-01-30 17:56     ` [REVIEW] " Stephen Hemminger
2026-02-09 16:44 ` [PATCH v4 00/35] combine multiple Intel scalar Tx paths Bruce Richardson
2026-02-09 16:44   ` [PATCH v4 01/35] net/intel: create common Tx descriptor structure Bruce Richardson
2026-02-09 16:45   ` [PATCH v4 02/35] net/intel: use common Tx ring structure Bruce Richardson
2026-02-09 16:45   ` [PATCH v4 03/35] net/intel: create common post-Tx cleanup function Bruce Richardson
2026-02-10 12:18     ` Burakov, Anatoly
2026-02-09 16:45   ` [PATCH v4 04/35] net/intel: consolidate definitions for Tx desc fields Bruce Richardson
2026-02-10 12:26     ` Burakov, Anatoly
2026-02-10 16:47       ` Bruce Richardson
2026-02-09 16:45   ` [PATCH v4 05/35] net/intel: add common fn to calculate needed descriptors Bruce Richardson
2026-02-10 12:29     ` Burakov, Anatoly
2026-02-10 14:08       ` Bruce Richardson
2026-02-10 14:17         ` Burakov, Anatoly
2026-02-10 17:25           ` Bruce Richardson
2026-02-11  9:14             ` Burakov, Anatoly
2026-02-09 16:45   ` [PATCH v4 06/35] net/ice: refactor context descriptor handling Bruce Richardson
2026-02-10 12:42     ` Burakov, Anatoly
2026-02-10 17:40       ` Bruce Richardson
2026-02-11  9:17         ` Burakov, Anatoly
2026-02-11 10:38           ` Bruce Richardson
2026-02-09 16:45   ` [PATCH v4 07/35] net/i40e: " Bruce Richardson
2026-02-10 12:48     ` Burakov, Anatoly
2026-02-10 14:10       ` Bruce Richardson
2026-02-10 14:19         ` Burakov, Anatoly
2026-02-10 17:54           ` Bruce Richardson
2026-02-11  9:20             ` Burakov, Anatoly
2026-02-11 12:04               ` Bruce Richardson
2026-02-09 16:45   ` [PATCH v4 08/35] net/idpf: " Bruce Richardson
2026-02-10 12:52     ` Burakov, Anatoly
2026-02-09 16:45   ` [PATCH v4 09/35] net/intel: consolidate checksum mask definition Bruce Richardson
2026-02-10 13:00     ` Burakov, Anatoly
2026-02-09 16:45   ` [PATCH v4 10/35] net/intel: create common checksum Tx offload function Bruce Richardson
2026-02-10 13:04     ` Burakov, Anatoly
2026-02-10 17:56       ` Bruce Richardson
2026-02-09 16:45   ` [PATCH v4 11/35] net/intel: create a common scalar Tx function Bruce Richardson
2026-02-10 13:14     ` Burakov, Anatoly
2026-02-10 18:03       ` Bruce Richardson
2026-02-11  9:26         ` Burakov, Anatoly
2026-02-09 16:45   ` [PATCH v4 12/35] net/i40e: use " Bruce Richardson
2026-02-10 13:14     ` Burakov, Anatoly
2026-02-09 16:45   ` [PATCH v4 13/35] net/intel: add IPsec hooks to common " Bruce Richardson
2026-02-10 13:16     ` Burakov, Anatoly
2026-02-09 16:45   ` [PATCH v4 14/35] net/intel: support configurable VLAN tag insertion on Tx Bruce Richardson
2026-02-10 13:21     ` Burakov, Anatoly
2026-02-10 18:20       ` Bruce Richardson
2026-02-11  9:29         ` Burakov, Anatoly
2026-02-11 14:19           ` Bruce Richardson
2026-02-09 16:45   ` [PATCH v4 15/35] net/iavf: use common scalar Tx function Bruce Richardson
2026-02-10 13:27     ` Burakov, Anatoly
2026-02-10 18:31       ` Bruce Richardson
2026-02-09 16:45   ` [PATCH v4 16/35] net/i40e: document requirement for QinQ support Bruce Richardson
2026-02-10 13:27     ` Burakov, Anatoly
2026-02-09 16:45   ` [PATCH v4 17/35] net/idpf: use common scalar Tx function Bruce Richardson
2026-02-10 13:30     ` Burakov, Anatoly
2026-02-09 16:45   ` [PATCH v4 18/35] net/intel: avoid writing the final pkt descriptor twice Bruce Richardson
2026-02-10 13:31     ` Burakov, Anatoly
2026-02-09 16:45   ` [PATCH v4 19/35] eal: add macro for marking assumed alignment Bruce Richardson
2026-02-09 22:35     ` Morten Brørup
2026-02-11 14:45       ` Bruce Richardson
2026-02-09 16:45   ` [PATCH v4 20/35] net/intel: write descriptors using non-volatile pointers Bruce Richardson
2026-02-09 23:08     ` Morten Brørup
2026-02-10  9:03       ` Bruce Richardson
2026-02-10  9:28         ` Morten Brørup
2026-02-11 14:44           ` Bruce Richardson
2026-02-11 14:44       ` Bruce Richardson
2026-02-09 16:45   ` [PATCH v4 21/35] net/intel: remove unnecessary flag clearing Bruce Richardson
2026-02-10 13:33     ` Burakov, Anatoly
2026-02-09 16:45   ` [PATCH v4 22/35] net/intel: mark mid-burst ring cleanup as unlikely Bruce Richardson
2026-02-10 13:36     ` Burakov, Anatoly
2026-02-10 14:13       ` Bruce Richardson
2026-02-11 18:12         ` Bruce Richardson
2026-02-09 16:45   ` [PATCH v4 23/35] net/intel: add special handling for single desc packets Bruce Richardson
2026-02-10 13:57     ` Burakov, Anatoly
2026-02-09 16:45   ` [PATCH v4 24/35] net/intel: use separate array for desc status tracking Bruce Richardson
2026-02-10 14:11     ` Burakov, Anatoly
2026-02-09 16:45   ` [PATCH v4 25/35] net/ixgbe: " Bruce Richardson
2026-02-10 14:12     ` Burakov, Anatoly
2026-02-09 16:45   ` [PATCH v4 26/35] net/intel: drop unused Tx queue used count Bruce Richardson
2026-02-10 14:14     ` Burakov, Anatoly
2026-02-09 16:45   ` [PATCH v4 27/35] net/intel: remove index for tracking end of packet Bruce Richardson
2026-02-10 14:15     ` Burakov, Anatoly
2026-02-09 16:45   ` [PATCH v4 28/35] net/intel: merge ring writes in simple Tx for ice and i40e Bruce Richardson
2026-02-09 23:18     ` Medvedkin, Vladimir
2026-02-09 16:45   ` [PATCH v4 29/35] net/intel: consolidate ice and i40e buffer free function Bruce Richardson
2026-02-09 23:19     ` Medvedkin, Vladimir
2026-02-09 16:45   ` [PATCH v4 30/35] net/intel: complete merging simple Tx paths Bruce Richardson
2026-02-09 23:19     ` Medvedkin, Vladimir
2026-02-09 16:45   ` [PATCH v4 31/35] net/intel: use non-volatile stores in simple Tx function Bruce Richardson
2026-02-09 23:19     ` Medvedkin, Vladimir
2026-02-09 16:45   ` [PATCH v4 32/35] net/intel: align scalar simple Tx path with vector logic Bruce Richardson
2026-02-09 23:19     ` Medvedkin, Vladimir
2026-02-09 16:45   ` [PATCH v4 33/35] net/intel: use vector SW ring entry for simple path Bruce Richardson
2026-02-09 23:19     ` Medvedkin, Vladimir
2026-02-09 16:45   ` [PATCH v4 34/35] net/intel: use vector mbuf cleanup from simple scalar path Bruce Richardson
2026-02-09 23:19     ` Medvedkin, Vladimir
2026-02-09 16:45   ` [PATCH v4 35/35] net/idpf: enable simple Tx function Bruce Richardson
2026-02-09 23:20     ` Medvedkin, Vladimir
2026-02-11 18:12 ` [PATCH v5 00/35] combine multiple Intel scalar Tx paths Bruce Richardson
2026-02-11 18:12   ` [PATCH v5 01/35] net/intel: create common Tx descriptor structure Bruce Richardson
2026-02-11 18:12   ` [PATCH v5 02/35] net/intel: fix memory leak on TX queue setup failure Bruce Richardson
2026-02-12 12:14     ` Burakov, Anatoly
2026-02-11 18:12   ` [PATCH v5 03/35] net/intel: use common Tx ring structure Bruce Richardson
2026-02-11 18:12   ` [PATCH v5 04/35] net/intel: create common post-Tx cleanup function Bruce Richardson
2026-02-11 18:12   ` [PATCH v5 05/35] net/intel: consolidate definitions for Tx desc fields Bruce Richardson
2026-02-11 18:12   ` [PATCH v5 06/35] net/intel: add common fn to calculate needed descriptors Bruce Richardson
2026-02-11 18:12   ` [PATCH v5 07/35] net/ice: refactor context descriptor handling Bruce Richardson
2026-02-12 12:16     ` Burakov, Anatoly
2026-02-11 18:12   ` [PATCH v5 08/35] net/i40e: " Bruce Richardson
2026-02-12 12:19     ` Burakov, Anatoly
2026-02-11 18:12   ` [PATCH v5 09/35] net/idpf: " Bruce Richardson
2026-02-11 18:12   ` [PATCH v5 10/35] net/intel: consolidate checksum mask definition Bruce Richardson
2026-02-11 18:12   ` [PATCH v5 11/35] net/intel: create common checksum Tx offload function Bruce Richardson
2026-02-11 18:12   ` [PATCH v5 12/35] net/intel: create a common scalar Tx function Bruce Richardson
2026-02-11 18:12   ` [PATCH v5 13/35] net/i40e: use " Bruce Richardson
2026-02-11 18:12   ` [PATCH v5 14/35] net/intel: add IPsec hooks to common " Bruce Richardson
2026-02-11 18:12   ` [PATCH v5 15/35] net/intel: support configurable VLAN tag insertion on Tx Bruce Richardson
2026-02-12 12:20     ` Burakov, Anatoly
2026-02-11 18:12   ` [PATCH v5 16/35] net/iavf: use common scalar Tx function Bruce Richardson
2026-02-11 18:12   ` [PATCH v5 17/35] net/i40e: document requirement for QinQ support Bruce Richardson
2026-02-11 18:12   ` [PATCH v5 18/35] net/idpf: use common scalar Tx function Bruce Richardson
2026-02-11 18:12   ` [PATCH v5 19/35] net/intel: avoid writing the final pkt descriptor twice Bruce Richardson
2026-02-11 18:12   ` [PATCH v5 20/35] net/intel: write descriptors using non-volatile pointers Bruce Richardson
2026-02-11 21:14     ` Morten Brørup
2026-02-12  8:43       ` Bruce Richardson
2026-02-11 18:12   ` [PATCH v5 21/35] net/intel: remove unnecessary flag clearing Bruce Richardson
2026-02-11 18:12   ` [PATCH v5 22/35] net/intel: add special handling for single desc packets Bruce Richardson
2026-02-11 18:12   ` [PATCH v5 23/35] net/intel: use separate array for desc status tracking Bruce Richardson
2026-02-11 21:51     ` Morten Brørup
2026-02-12  9:15       ` Bruce Richardson
2026-02-12 12:38         ` Morten Brørup
2026-02-11 18:12   ` [PATCH v5 24/35] net/ixgbe: " Bruce Richardson
2026-02-11 18:12   ` [PATCH v5 25/35] net/intel: drop unused Tx queue used count Bruce Richardson
2026-02-11 18:12   ` [PATCH v5 26/35] net/intel: remove index for tracking end of packet Bruce Richardson
2026-02-11 18:12   ` [PATCH v5 27/35] net/intel: merge ring writes in simple Tx for ice and i40e Bruce Richardson
2026-02-11 18:12   ` [PATCH v5 28/35] net/intel: consolidate ice and i40e buffer free function Bruce Richardson
2026-02-11 18:12   ` [PATCH v5 29/35] net/intel: complete merging simple Tx paths Bruce Richardson
2026-02-11 18:12   ` [PATCH v5 30/35] net/intel: use non-volatile stores in simple Tx function Bruce Richardson
2026-02-11 18:13   ` [PATCH v5 31/35] net/intel: align scalar simple Tx path with vector logic Bruce Richardson
2026-02-11 18:13   ` [PATCH v5 32/35] net/intel: use vector SW ring entry for simple path Bruce Richardson
2026-02-11 18:13   ` [PATCH v5 33/35] net/intel: use vector mbuf cleanup from simple scalar path Bruce Richardson
2026-02-11 18:13   ` [PATCH v5 34/35] net/idpf: enable simple Tx function Bruce Richardson
2026-02-12 12:28     ` Burakov, Anatoly
2026-02-11 18:13   ` [PATCH v5 35/35] net/cpfl: " Bruce Richardson
2026-02-12 12:30     ` Burakov, Anatoly
2026-02-12 14:45   ` [PATCH v5 00/35] combine multiple Intel scalar Tx paths Bruce Richardson

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=20260122222053.55cb8cbf@phoenix.local \
    --to=stephen@networkplumber.org \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    /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