[RFC 0/6] get rid of pthread_cancel
Stephen Hemminger
stephen at networkplumber.org
Wed Sep 24 18:51:07 CEST 2025
The use of pthread_cancel in DPDK is problematic since cancel is implemented
as signal in Linux and TerminateThread in Windows. Using pthread_cancel
also exposes the internals of rte_thread_t to drivers which limits potential
ABI changes.
This patchset shows how the same effect can be had in most places by using
either existing flag variables or the semantics of sockets/pipes used to
communicate with the thread.
This RFC because it doesn't cover all uses of pthread_cancel, in the final
version pthread_cancel will be gone and flagged as error in checkpatch;
and the patches hit multiple drivers which require special hardware.
Stephen Hemminger (6):
eal: avoid using pthread_cancel
eventdev: avoid use of pthread_cancel
raw/ifpga: avoid use of pthread_cancel
dma/skeleton: avoid use of pthread_cancel
intel/ipn3ke: avoid use of pthread_cancel
intel/iavf: remove use of pthread_cancel
drivers/dma/skeleton/skeleton_dmadev.c | 5 +---
drivers/net/intel/iavf/iavf_vchnl.c | 8 +++----
drivers/net/intel/ipn3ke/ipn3ke_representor.c | 8 ++-----
drivers/raw/ifpga/ifpga_rawdev.c | 8 +------
lib/eal/common/eal_common_proc.c | 24 +++++--------------
lib/eventdev/rte_event_eth_rx_adapter.c | 21 ++++++++--------
6 files changed, 25 insertions(+), 49 deletions(-)
--
2.47.3
More information about the dev
mailing list