[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