DPDK-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Pushpendra Kumar <pushpendra1x.kumar@intel.com>
To: dev@dpdk.org
Cc: pushpendra.kumar@tieto.com, reshma.pattan@intel.com,
	stephen@networkplumber.org, stable@dpdk.org
Subject: Re: [PATCH] pdump: fix request timeout on unresponsive secondary
Date: Thu,  2 Jul 2026 09:31:38 +0530	[thread overview]
Message-ID: <20260702040140.634986-1-pushpendra1x.kumar@intel.com> (raw)
In-Reply-To: <20260701060257.562895-1-pushpendra1x.kumar@intel.com>

Hi all,

Please hold review of this patch for now.

While validating this approach, I found a race condition in ENABLE/DISABLE forwarding behavior. In the DISABLE path, a delayed forwarded secondary (S2) can crash if requester-side teardown in S1 (the secondary that initiates DISABLE) proceeds first and shared resources are released.

I reproduced this with dpdk-dumpcap by injecting delay on S2. In my setup, it appears around the 5-second timeout mark (similar to MP_TIMEOUT_S), but the issue is about ordering and lifecycle guarantees, not a specific delay value or application.

The same teardown-safety risk can also exist in the original behavior if a secondary handles DISABLE late enough that the control plane fails or times out, and requester-side teardown still proceeds.

The root issue is:
- If S2 is slow/unresponsive on DISABLE, requester-side DISABLE can fail/timeout.
- If S1 app ignores that failure and frees shared capture resources anyway, S2 may still touch stale pointers and crash.
- So the root issue is teardown safety after failed/partial DISABLE completion, not only async forwarding itself.

I am pausing this patch to investigate a cleaner lifecycle fix for the DISABLE path. I will send a v2 after a more robust solution is verified.

Suggestions and feedback are very welcome.

Best regards,
Pushpendra

  reply	other threads:[~2026-07-02  4:06 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-01  6:02 [PATCH] pdump: fix request timeout on unresponsive secondary Pushpendra Kumar
2026-07-02  4:01 ` Pushpendra Kumar [this message]
2026-07-03 15:52 ` Stephen Hemminger
2026-07-05  8:44 ` [PATCH v2] pdump: fix teardown race with opt-in MP request mode Pushpendra Kumar
2026-07-05 17:07   ` [PATCH v3] " Pushpendra Kumar
2026-07-05 18:27   ` [PATCH v2] " Stephen Hemminger
2026-07-05 21:08     ` Kumar, Pushpendra1X
2026-07-06  8:25       ` Stephen Hemminger

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=20260702040140.634986-1-pushpendra1x.kumar@intel.com \
    --to=pushpendra1x.kumar@intel.com \
    --cc=dev@dpdk.org \
    --cc=pushpendra.kumar@tieto.com \
    --cc=reshma.pattan@intel.com \
    --cc=stable@dpdk.org \
    --cc=stephen@networkplumber.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