On Mon, 5 Jan 2026 11:52:54 +0530 Shaiq Wani <[email protected]> wrote:
> In case some CPUs don't support AVX512. Enable AVX2 for them to > get better per-core performance. > > In the single queue model, the same descriptor queue is used by SW > to post descriptors to the device and used by device to report completed > descriptors to SW. While as the split queue model separates them into > different queues for parallel processing and improved performance. > > v11: > *Fixed indentation issues. > > v10: > *Changed desc reading style in Rx path. > > v9: > *Some minor fixes. > > v8: > *Reworked the receive func to avoid race conditions in Rx path. > *Removed unnecessary compiler barriers. > > v7: > *Removed (char) casts, ifdef block as suggested. > *Fixed indentation, line wrapping. > *Did blind write of data to avoid branching. > *changed desc building and writing order for Tx. > > v6: > *used single load/store in splitq_recv_pkts function. > *removed x86-specific intrinsics from common code. > > v5: > *Fixed CI errors. > *Used defined constants instead of numbers. > > v4: > *moved splitq_rearm_common to a common location. > *reduced duplication of code. > *fixed splitq_recv_pkts function. > > v3: > *Fixed some indentation issues. > *Collapsed wrapper and core function into one. > *Fixed some pointer casting and naming inconsistency issues. > > v2: > *Fixed CI build related issues. > *Rebased on top of idpf/cpfl rx path selection simplication patch. > > > > Shaiq Wani (3): > net/idpf: enable AVX2 for split queue Rx > net/idpf: enable AVX2 for split queue Tx > doc: note on unsupported completion queue sharing > > doc/guides/nics/idpf.rst | 5 + > drivers/net/intel/idpf/idpf_common_device.h | 1 + > drivers/net/intel/idpf/idpf_common_rxtx.c | 59 ++++ > drivers/net/intel/idpf/idpf_common_rxtx.h | 8 + > .../net/intel/idpf/idpf_common_rxtx_avx2.c | 317 +++++++++++++++++- > .../net/intel/idpf/idpf_common_rxtx_avx512.c | 56 ---- > drivers/net/intel/idpf/idpf_rxtx.c | 9 + > 7 files changed, 397 insertions(+), 58 deletions(-) > Thanks for sticking with this patchset. It is worth noting that AI had some review comments. Summary Errors (Must Fix) None critical. Warnings (Should Fix) Patch 1 & 2: Commit body text is identical and doesn't specifically describe the Tx patch. Consider making the body patch-specific. Patch 1: "While as" grammatical error in commit body → "Whereas" or "While". Patch 2: Contains unrelated style change (moving tx_id declaration). Should be mentioned in commit message or separated. Patch 2: Verify IDPD_TXQ_SCAN_CQ_THRESH spelling—appears it might be a typo for IDPF_. Patch 1 & 2: Inconsistent placement of RTE_EXPORT_INTERNAL_SYMBOL() (before vs. after function). Patch 3: "Added" is past tense; imperative "Add" is preferred. Info (Consider) The series is at v11, indicating significant iteration. The core implementation looks reasonable for AVX2 vectorized packet processing. Mid-block variable declarations are used inconsistently—some at function top, some mid-block. Consider consistent placement. Unnecessary initialization of received = 0 since it's always assigned before use. Recommendation Acceptable with minor revisions. The code appears functionally correct for enabling AVX2 split queue support. Address the warnings above, particularly: Fix the "IDPD" vs "IDPF" typo if confirmed Update commit messages to be patch-specific Consider separating unrelated style changes

