lib: remove unneeded header includesThese header includes have been flagged by the iwyu_tooland removed.Signed-off-by: Sean Morrissey <[email protected]>
stack: fix stubs header exportThe stubs header is included as part of rte_stack.h for architecturesother than x86_64 and aarch64 (i.e. x86 32 bits and ppc).Note: chkincs won't catch this issue s
stack: fix stubs header exportThe stubs header is included as part of rte_stack.h for architecturesother than x86_64 and aarch64 (i.e. x86 32 bits and ppc).Note: chkincs won't catch this issue since it checks headers from withinthe source directory.Fixes: 7911ba0473e0 ("stack: enable lock-free implementation for aarch64")Cc: [email protected]Signed-off-by: David Marchand <[email protected]>
show more ...
stack: remove unneeded atomic header includeIn stack module, remove the header file rte_atomic.has it is not being used.Signed-off-by: Joyce Kong <[email protected]>Signed-off-by: Dharmik Thak
stack: remove unneeded atomic header includeIn stack module, remove the header file rte_atomic.has it is not being used.Signed-off-by: Joyce Kong <[email protected]>Signed-off-by: Dharmik Thakkar <[email protected]>Reviewed-by: Ruifeng Wang <[email protected]>Acked-by: Olivier Matz <[email protected]>
mempool/stack: build on WindowsEnable build of mempool/stack on Windows.Signed-off-by: Jie Zhou <[email protected]>Acked-by: Dmitry Kozlyuk <[email protected]>
stack: fix reload head when pop failsThe previous commit 18effad9cfa7 ("stack: reload head when pop fails")only changed C11 implementation, not generic implementation.List head must be loaded ri
stack: fix reload head when pop failsThe previous commit 18effad9cfa7 ("stack: reload head when pop fails")only changed C11 implementation, not generic implementation.List head must be loaded right before continue (when failed to find thenew head). Without this, one thread might keep trying and failing to popitems without ever loading the new correct head.Fixes: 3340202f5954 ("stack: add lock-free implementation")Cc: [email protected]Signed-off-by: Julien Meunier <[email protected]>Acked-by: Olivier Matz <[email protected]>
lib: remove C++ include guard from private headersThe private headers are compiled internally with a C compiler.Thus extern "C" declaration is useless in such files.Signed-off-by: Thomas Monjalo
lib: remove C++ include guard from private headersThe private headers are compiled internally with a C compiler.Thus extern "C" declaration is useless in such files.Signed-off-by: Thomas Monjalon <[email protected]>
version: 21.11-rc0Start a new release cycle with empty release notes.The ABI version becomes 22.0.The map files are updated to the new ABI major number (22).The ABI exceptions are dropped and C
version: 21.11-rc0Start a new release cycle with empty release notes.The ABI version becomes 22.0.The map files are updated to the new ABI major number (22).The ABI exceptions are dropped and CI ABI checks are disabled becausecompatibility is not preserved.Signed-off-by: Thomas Monjalon <[email protected]>Acked-by: Ferruh Yigit <[email protected]>Acked-by: David Marchand <[email protected]>
log: register with standardized namesLet's try to enforce the convention where most drivers use a pmd. logtypewith their class reflected in it, and libraries use a lib. logtype.Introduce two new
log: register with standardized namesLet's try to enforce the convention where most drivers use a pmd. logtypewith their class reflected in it, and libraries use a lib. logtype.Introduce two new macros:- RTE_LOG_REGISTER_DEFAULT can be used when a single logtype is used in a component. It is associated to the default name provided by the build system,- RTE_LOG_REGISTER_SUFFIX can be used when multiple logtypes are used, and then the passed name is appended to the default name,RTE_LOG_REGISTER is left untouched for existing external usersand for components that do not comply with the convention.There is a new Meson variable log_prefix to adapt the default namefor baseband (pmd.bb.), bus (no pmd.) and mempool (no pmd.) classes.Note: achieved with below commands + reverted change on net/bonding +edits on crypto/virtio, compress/mlx5, regex/mlx5$ git grep -l RTE_LOG_REGISTER drivers/ | while read file; do pattern=${file##drivers/}; class=${pattern%%/*}; pattern=${pattern#$class/}; drv=${pattern%%/*}; case "$class" in baseband) pattern=pmd.bb.$drv;; bus) pattern=bus.$drv;; mempool) pattern=mempool.$drv;; *) pattern=pmd.$class.$drv;; esac sed -i -e 's/RTE_LOG_REGISTER(\(.*\), '$pattern',/RTE_LOG_REGISTER_DEFAULT(\1,/' $file; sed -i -e 's/RTE_LOG_REGISTER(\(.*\), '$pattern'\.\(.*\),/RTE_LOG_REGISTER_SUFFIX(\1, \2,/' $file; done$ git grep -l RTE_LOG_REGISTER lib/ | while read file; do pattern=${file##lib/}; pattern=lib.${pattern%%/*}; sed -i -e 's/RTE_LOG_REGISTER(\(.*\), '$pattern',/RTE_LOG_REGISTER_DEFAULT(\1,/' $file; sed -i -e 's/RTE_LOG_REGISTER(\(.*\), '$pattern'\.\(.*\),/RTE_LOG_REGISTER_SUFFIX(\1, \2,/' $file; doneSigned-off-by: David Marchand <[email protected]>Signed-off-by: Thomas Monjalon <[email protected]>Acked-by: Bruce Richardson <[email protected]>
stack: allow lock-free only on relevant architecturesSince commit 7911ba0473e0 ("stack: enable lock-free implementation foraarch64"), lock-free stack is supported on arm64 but this description was
stack: allow lock-free only on relevant architecturesSince commit 7911ba0473e0 ("stack: enable lock-free implementation foraarch64"), lock-free stack is supported on arm64 but this description wasmissing from the doxygen for the flag.Currently it is impossible to detect programmatically whether lock-freeimplementation of rte_stack is supported. One could check whether theheader guard for lock-free stubs is defined (_RTE_STACK_LF_STUBS_H_) butthat's an unstable implementation detail. Because of that currently alllock-free ring creations silently succeed (as long as the stack headeris 16B long) which later leads to push and pop operations being NOPs.The observable effect is that stack_lf_autotest fails on platforms notsupporting the lock-free. Instead it should just skip the lock-free testaltogether.This commit adds a new errno value (ENOTSUP) that may be returned byrte_stack_create() to indicate that a given combination of flags is notsupported on a current platform.This is detected by checking a compile-time flag in the include logic inrte_stack_lf.h which may be used by applications to check the lock-freesupport at compile time.Use the added RTE_STACK_LF_SUPPORTED flag to disable the lock-free stacktests at the compile time.Perf test doesn't fail because rte_ring_create() succeeds, howevermarking this test as skipped gives a better indication of what actuallywas tested.Fixes: 7911ba0473e0 ("stack: enable lock-free implementation for aarch64")Signed-off-by: Stanislaw Kardach <[email protected]>Acked-by: Olivier Matz <[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]>