DPDK patches and discussions
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>
Subject: [RFC 0/6] get rid of pthread_cancel
Date: Wed, 24 Sep 2025 09:51:07 -0700	[thread overview]
Message-ID: <20250924165527.268645-1-stephen@networkplumber.org> (raw)

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


             reply	other threads:[~2025-09-24 16:55 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-24 16:51 Stephen Hemminger [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250924165527.268645-1-stephen@networkplumber.org \
    --to=stephen@networkplumber.org \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).