version: 24.11-rc0Start a new release cycle with empty release notes.The ABI version becomes 25.0.The map files are updated to the new ABI major number (25).The ABI exceptions are dropped and C
version: 24.11-rc0Start a new release cycle with empty release notes.The ABI version becomes 25.0.The map files are updated to the new ABI major number (25).The ABI exceptions are dropped and CI ABI checks are disabled becausecompatibility is not preserved.Signed-off-by: David Marchand <david.marchand@redhat.com>Acked-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
lib: move alignment attribute on types for MSVCThe current location used for __rte_aligned(a) for alignment of typesis not compatible with MSVC. There is only a single location acceptedby both to
lib: move alignment attribute on types for MSVCThe current location used for __rte_aligned(a) for alignment of typesis not compatible with MSVC. There is only a single location acceptedby both toolchains.The standard offers no alignment facility that compatibly interoperateswith C and C++ but it may be achieved by relocating the placement of__rte_aligned(a) to the aforementioned location accepted by all currentlysupported toolchains.To allow alignment for both compilers, do the following:* Expand __rte_aligned(a) to __declspec(align(a)) when building with MSVC.* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag.The placement between {struct,union} and the tag allows the desiredalignment to be imparted on the type regardless of the toolchain beingused for all of GCC, LLVM, MSVC compilers building both C and C++.Note: this move has an additional benefit as Doxygen is not confusedanymore like for the rte_event_vector struct definition.Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>Acked-by: Morten Brørup <mb@smartsharesystems.com>Acked-by: Bruce Richardson <bruce.richardson@intel.com>Acked-by: Konstantin Ananyev <konstantin.ananyev@huawei.com>Acked-by: Chengwen Feng <fengchengwen@huawei.com>Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>Signed-off-by: David Marchand <david.marchand@redhat.com>
timer: promote some function as stablerte_timer_next_ticks was added in 20.11, remove experimental flag.Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>Acked-by: Bruce Richardson <b
timer: promote some function as stablerte_timer_next_ticks was added in 20.11, remove experimental flag.Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>Acked-by: Bruce Richardson <bruce.richardson@intel.com>
timer: use stdatomic APIReplace the use of gcc builtin __atomic_xxx intrinsics withcorresponding rte_atomic_xxx optional stdatomic APISigned-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
timer: use stdatomic APIReplace the use of gcc builtin __atomic_xxx intrinsics withcorresponding rte_atomic_xxx optional stdatomic APISigned-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>Acked-by: David Marchand <david.marchand@redhat.com>
remove C11 compatibility macroC11 conformant compiler is documented as a minimum requirement to buildand consume DPDK.Remove use of RTE_STD_C11 macro marking use of C11 features with__extension_
remove C11 compatibility macroC11 conformant compiler is documented as a minimum requirement to buildand consume DPDK.Remove use of RTE_STD_C11 macro marking use of C11 features with__extension__ since it is no longer necessary and then remove definitionof RTE_STD_C11 macro.Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>Acked-by: Bruce Richardson <bruce.richardson@intel.com>Reviewed-by: Morten Brørup <mb@smartsharesystems.com>
version: 23.11-rc0Start a new release cycle with empty release notes.The ABI version becomes 24.0.The map files are updated to the new ABI major number (24).The ABI exceptions are dropped and C
version: 23.11-rc0Start a new release cycle with empty release notes.The ABI version becomes 24.0.The map files are updated to the new ABI major number (24).The ABI exceptions are dropped and CI ABI checks are disabled becausecompatibility is not preserved.The telemetry and vhost libraries compat code is cleaned up in nextcommits.Signed-off-by: David Marchand <david.marchand@redhat.com>Acked-by: Bruce Richardson <bruce.richardson@intel.com>
enable lock checkNow that a lot of components can be compiled with the lock checks,invert the logic and opt out for components not ready yet:- drivers/bus/dpaa,- drivers/common/cnxk,- drivers/c
enable lock checkNow that a lot of components can be compiled with the lock checks,invert the logic and opt out for components not ready yet:- drivers/bus/dpaa,- drivers/common/cnxk,- drivers/common/mlx5,- drivers/event/cnxk,- drivers/net/bnx2x,- drivers/net/bnxt,- drivers/net/cnxk,- drivers/net/enic,- drivers/net/hns3,- drivers/net/mlx5,- lib/ipsec,- lib/timer,The FreeBSD pthread API has been annotated but Linux glibc does not havethose annotations. Disable lock checks for FreeBSD where pthread_mutex_*are used:- drivers/net/failsafe,- drivers/net/hinic,- lib/eal,- lib/ethdev,Signed-off-by: David Marchand <david.marchand@redhat.com>Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>Acked-by: Sachin Saxena <sachin.saxena@oss.nxp.com>
cleanup compat header inclusionsWith symbols going though experimental/stable stages, we accumulateda lot of discrepancies about inclusion of the rte_compat.h header.Some headers are including i
cleanup compat header inclusionsWith symbols going though experimental/stable stages, we accumulateda lot of discrepancies about inclusion of the rte_compat.h header.Some headers are including it where unneeded, while others rely onimplicit inclusion.Fix unneeded inclusions:$ git grep -l include..rte_compat.h | xargs grep -LE '__rte_(internal|experimental)' | xargs sed -i -e '/#include..rte_compat.h/d'Fix missing inclusion, by inserting rte_compat.h before the firstinclusion of a DPDK header:$ git grep -lE '__rte_(internal|experimental)' | xargs grep -L include..rte_compat.h | xargs sed -i -e \ '0,/#include..\(rte_\|.*pmd.h.$\)/{ s/\(#include..\(rte_\|.*pmd.h.$\)\)/#include <rte_compat.h>\n\1/ }'Fix missing inclusion, by inserting rte_compat.h after the lastinclusion of a non DPDK header:$ for file in $(git grep -lE '__rte_(internal|experimental)' | xargs grep -L include..rte_compat.h); do tac $file > $file.$$ sed -i -e \ '0,/#include../{ s/\(#include..*$\)/#include <rte_compat.h>\n\n\1/ }' $file.$$ tac $file.$$ > $file rm $file.$$ doneFix missing inclusion, by inserting rte_compat.h after the header guard:$ git grep -lE '__rte_(internal|experimental)' | xargs grep -L include..rte_compat.h | xargs sed -i -e \ '0,/#define/{ s/\(#define .*$\)/\1\n\n#include <rte_compat.h>/ }'And finally, exclude rte_compat.h itself.$ git checkout lib/eal/include/rte_compat.hAt the end of all this, we have a clean tree:$ git grep -lE '__rte_(internal|experimental)' | xargs grep -L include..rte_compat.hbuildtools/check-symbols.shdevtools/checkpatches.shdoc/guides/contributing/abi_policy.rstdoc/guides/rel_notes/release_20_11.rstlib/eal/include/rte_compat.hSigned-off-by: David Marchand <david.marchand@redhat.com>Acked-by: Bruce Richardson <bruce.richardson@intel.com>Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
timer: fix stopping all timersThere is a possibility of deadlock in this API,as same spinlock is tried to be acquired in nested manner.If the lcore that is stopping the timer is different from t
timer: fix stopping all timersThere is a possibility of deadlock in this API,as same spinlock is tried to be acquired in nested manner.If the lcore that is stopping the timer is different from the lcorethat owns the timer, the timer list lock is acquired in timer_del(),even if local_is_locked is true. Because the same lock was alreadyacquired in rte_timer_stop_all(), the thread will hang.This patch removes the acquisition of nested lock.Fixes: 821c51267bcd63a ("timer: add function to stop all timers in a list")Cc: stable@dpdk.orgSigned-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com>Acked-by: Erik Gabriel Carrillo <erik.g.carrillo@intel.com>
version: 22.11-rc0Start a new release cycle with empty release notes.The ABI version becomes 23.0.The map files are updated to the new ABI major number (23).The ABI exceptions are dropped and C
version: 22.11-rc0Start a new release cycle with empty release notes.The ABI version becomes 23.0.The map files are updated to the new ABI major number (23).The ABI exceptions are dropped and CI ABI checks are disabled becausecompatibility is not preserved.Special handling of removed drivers is also dropped in check-abi.sh anda note has been added in libabigail.abignore as a reminder.Signed-off-by: David Marchand <david.marchand@redhat.com>Acked-by: Thomas Monjalon <thomas@monjalon.net>
timer: remove unneeded header includesThese header includes have been flagged by the iwyu_tooland removed.Signed-off-by: Sean Morrissey <sean.morrissey@intel.com>
lib: remove unneeded header includesThese header includes have been flagged by the iwyu_tooland removed.Signed-off-by: Sean Morrissey <sean.morrissey@intel.com>
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 <thomas@monjalon.net>Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>Acked-by: David Marchand <david.marchand@redhat.com>
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 <bruce.richardson@intel.com>