eal/x86: fix unaligned access for small memcpyCalls to rte_memcpy for 1 < n < 16 could result in unalignedloads/stores, which is undefined behaviour according to the Cstandard, and strict aliasin
eal/x86: fix unaligned access for small memcpyCalls to rte_memcpy for 1 < n < 16 could result in unalignedloads/stores, which is undefined behaviour according to the Cstandard, and strict aliasing violations.The code was changed to use a packed structure that allows aliasing(using the __may_alias__ attribute) to perform the load/storeoperations. This results in code that has the same performance as theoriginal code and that is also C standards-compliant.Fixes: af75078fece3 ("first public release")Cc: [email protected]Signed-off-by: Luc Pelletier <[email protected]>Acked-by: Konstantin Ananyev <[email protected]>Tested-by: Konstantin Ananyev <[email protected]>
show more ...
eal/x86: remove atomic header include loopRemove the x86 top atomic header include from the architecture relatedheader file, since this x86 top atomic header file has included them.Signed-off-by
eal/x86: remove atomic header include loopRemove the x86 top atomic header include from the architecture relatedheader file, since this x86 top atomic header file has included them.Signed-off-by: Haiyue Wang <[email protected]>
fix spelling in comments and stringsThe tool comes from https://github.com/jsorefSigned-off-by: Josh Soref <[email protected]>Signed-off-by: Thomas Monjalon <[email protected]>
eal/x86: avoid cast-align warning in memcpy functionsFunctions and macros in x86 rte_memcpy.h may cause cast-align warnings,when using strict cast align flag with supporting gcc:gcc (Ubuntu 9.3.0
eal/x86: avoid cast-align warning in memcpy functionsFunctions and macros in x86 rte_memcpy.h may cause cast-align warnings,when using strict cast align flag with supporting gcc:gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0CFLAGS="-Wcast-align=strict" make V=1 -C examples/l2fwd clean staticFor example:In file included from main.c:24:/dpdk/build/include/rte_memcpy.h: In function 'rte_mov16':/dpdk/build/include/rte_memcpy.h:306:25: warning: cast increasesrequired alignment of target type [-Wcast-align] 306 | xmm0 = _mm_loadu_si128((const __m128i *)src); | ^As the code assumes correct alignment, add first a (void *) or (constvoid *) castings, to avoid the warnings.Fixes: 9484092baad3 ("eal/x86: optimize memcpy for AVX512 platforms")Cc: [email protected]Signed-off-by: Eli Britstein <[email protected]>
lib: remove librte_ prefix from directory namesThere is no reason for the DPDK libraries to all have 'librte_' prefix onthe directory names. This prefix makes the directory names longer and alsom
lib: remove librte_ prefix from directory namesThere is no reason for the DPDK libraries to all have 'librte_' prefix onthe directory names. This prefix makes the directory names longer and alsomakes it awkward to add features referring to individual libraries in thebuild - should the lib names be specified with or without the prefix.Therefore, we can just remove the library prefix and use the library'sunique name as the directory name, i.e. 'eal' rather than 'librte_eal'Signed-off-by: Bruce Richardson <[email protected]>