[PATCH v19 0/2] net: optimize __rte_raw_cksum

Scott Mitchell scott.k.mitch1 at gmail.com
Sat Feb 7 02:29:16 CET 2026


Thanks for testing! I included my build/host config, results on the
main branch, and then with this path applied below. What is your build
flags/configuration (e, cpu_instruction_set, march, optimization
level, etc.)? I wasn't able to get any Clang version (18, 19, 20) to
vectorize on Godbolt https://godbolt.org/z/8149r7sq8, and curious if
your config enables vectorization.

#### build / host config
  User defined options
    b_lto              : false
    buildtype          : release
    c_args             : -fno-omit-frame-pointer
-DPACKET_QDISC_BYPASS=1 -DRTE_MEMCPY_AVX512=1
    cpu_instruction_set: cascadelake
    default_library    : static
    max_lcores         : 128
    optimization       : 3
$ clang --version
clang version 18.1.8 (Red Hat, Inc. 18.1.8-3.el9)
$ cat /etc/redhat-release
Red Hat Enterprise Linux release 9.4 (Plow)

#### main branch
$ echo "cksum_perf_autotest" | /usr/local/bin/dpdk-test
### rte_raw_cksum() performance ###
Alignment  Block size    TSC cycles/block  TSC cycles/byte
Aligned           20                10.0             0.50
Unaligned         20                10.1             0.50
Aligned           21                11.1             0.53
Unaligned         21                11.6             0.55
Aligned          100                39.4             0.39
Unaligned        100                67.3             0.67
Aligned          101                43.3             0.43
Unaligned        101                41.5             0.41
Aligned         1500               728.2             0.49
Unaligned       1500               805.8             0.54
Aligned         1501               768.8             0.51
Unaligned       1501               787.3             0.52
Test OK

#### with this patch
$ echo "cksum_perf_autotest" | /usr/local/bin/dpdk-test
### rte_raw_cksum() performance ###
Alignment  Block size    TSC cycles/block  TSC cycles/byte
Aligned           20                12.6             0.63
Unaligned         20                12.3             0.62
Aligned           21                13.6             0.65
Unaligned         21                13.6             0.65
Aligned          100                22.7             0.23
Unaligned        100                22.6             0.23
Aligned          101                47.4             0.47
Unaligned        101                23.9             0.24
Aligned         1500                73.9             0.05
Unaligned       1500                73.9             0.05
Aligned         1501                95.7             0.06
Unaligned       1501                73.9             0.05
Aligned         9000               459.8             0.05
Unaligned       9000               523.5             0.06
Aligned         9001               536.7             0.06
Unaligned       9001               507.5             0.06
Aligned        65536              3158.4             0.05
Unaligned      65536              3506.1             0.05
Aligned        65537              3277.6             0.05
Unaligned      65537              3697.6             0.06
Test OK


More information about the dev mailing list