On 2022-07-11 15:25, Olivier Matz wrote: > On Mon, Jul 11, 2022 at 02:11:32PM +0200, Mattias Rönnblom wrote: >> __rte_raw_cksum() (used by rte_raw_cksum() among others) accessed its >> data through an uint16_t pointer, which allowed the compiler to assume >> the data was 16-bit aligned. This in turn would, with certain >> architectures and compiler flag combinations, result in code with SIMD >> load or store instructions with restrictions on data alignment. >> >> This patch keeps the old algorithm, but data is read using memcpy() >> instead of direct pointer access, forcing the compiler to always >> generate code that handles unaligned input. The __may_alias__ GCC >> attribute is no longer needed. >> >> The data on which the Internet checksum functions operates are almost >> always 16-bit aligned, but there are exceptions. In particular, the >> PDCP protocol header may (literally) have an odd size. >> >> Performance impact seems to range from none to a very slight >> regression. >> >> Bugzilla ID: 1035 >> Cc: sta...@dpdk.org > > Fixes: 6006818cfb26 ("net: new checksum functions") > >> --- >> >> v3: >> * Use RTE_ALIGN_FLOOR() in the pointer arithmetic (Olivier Matz). >> v2: >> * Simplified the odd-length conditional (Morten Brørup). >> >> Reviewed-by: Morten Brørup <m...@smartsharesystems.com> >> >> Signed-off-by: Mattias Rönnblom <mattias.ronnb...@ericsson.com> > > Acked-by: Olivier Matz <olivier.m...@6wind.com> > > Thank you!
Will this be merged into 22.11? Into the stable branches?