DPDK patches and discussions
 help / color / mirror / Atom feed
* [RFC 0/6] get rid of pthread_cancel
@ 2025-09-24 16:51 Stephen Hemminger
  2025-09-24 16:51 ` [RFC 1/6] eal: avoid using pthread_cancel Stephen Hemminger
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Stephen Hemminger @ 2025-09-24 16:51 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

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


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2025-09-25 15:12 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-09-24 16:51 [RFC 0/6] get rid of pthread_cancel Stephen Hemminger
2025-09-24 16:51 ` [RFC 1/6] eal: avoid using pthread_cancel Stephen Hemminger
2025-09-24 16:51 ` [RFC 2/6] eventdev: avoid use of pthread_cancel Stephen Hemminger
2025-09-24 16:51 ` [RFC 3/6] raw/ifpga: " Stephen Hemminger
2025-09-24 16:51 ` [RFC 4/6] dma/skeleton: " Stephen Hemminger
2025-09-25  1:20   ` fengchengwen
2025-09-24 16:51 ` [RFC 5/6] intel/ipn3ke: " Stephen Hemminger
2025-09-24 16:51 ` [RFC 6/6] intel/iavf: remove " Stephen Hemminger
2025-09-25 15:11   ` Bruce Richardson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).