DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Varghese, Vipin" <Vipin.Varghese@amd.com>
To: Khadem Ullah <14pwcse1224@uetpeshawar.edu.pk>
Cc: Stephen Hemminger <stephen@networkplumber.org>,
	"thomas@monjalon.net" <thomas@monjalon.net>,
	"Yigit, Ferruh" <Ferruh.Yigit@amd.com>,
	"andrew.rybchenko@oktetlabs.ru" <andrew.rybchenko@oktetlabs.ru>,
	"dev@dpdk.org" <dev@dpdk.org>
Subject: RE: [PATCH v7] app/testpmd: monitor state of primary process when using secondary
Date: Mon, 11 Aug 2025 11:34:20 +0000	[thread overview]
Message-ID: <PH7PR12MB85965BF756C6D234FB8714068228A@PH7PR12MB8596.namprd12.prod.outlook.com> (raw)
In-Reply-To: <CA++2-x4i2OegW0u2a6AJepCFgqjLbwzqdw+es3BqrABgqM7FZg@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3407 bytes --]

[Public]

HI,

Snipped

Hi,
You can create a simple setup with only running testpmd with primary and another testpmd with secondary and then see the results.

No, the reason for the primary process termination could be close or shutdown (ctrl + c or ctrl + q) or any other.
The reason is clear: "In secondary processes, accessing 'dev->data->dev_private' or &dev->data->mac_addrs directly can
cause a segmentation fault if the primary process has exited or the
shared memory is unavailable."
The effect is throughput the life-cycle of secondary process existence in dpdk after primary,
You can check
https://patches.dpdk.org/project/dpdk/patch/20250721073851.963141-1-14pwcse1224@uetpeshawar.edu.pk/
https://patches.dpdk.org/project/dpdk/patch/20250721105522.1019515-1-14pwcse1224@uetpeshawar.edu.pk/

I think most of the details have already been provided.
The community agrees with the current solution.
Thanks.


There are couple of corrections that needs to shared to the current understanding you are sharing


  1.  Please find DPDK Documentation on mutli process as 4. Multi-process Support — Data Plane Development Kit 25.07.0 documentation<https://doc.dpdk.org/guides/prog_guide/multi_proc_support.html>

2.    From your ` This patch only adds stability and robustness to primary-secondary applications.` this is not true

3.    ` any other application which provides primary-secondary support could also follow the same model` - actually by default the eal args supports mutli process. Only by specifying `--single-process` this is disabled

4.    ` the reason for the primary process termination could be close or shutdown (ctrl + c or ctrl + q)` DPDK testpmd and a few examples like L2fwd, eventdev, l3fwd and other uses SIGACTION to check gracefully exit

  1.  In all graceful exit `rte_eal_cleanup is invoked`. Hence any secondary (as shared in my previous emails) will have dangling pointers.
  2.  For customer till 2023 and internal testing (as mentioned in my email) any abrupt kill of primary does not corrupt the secondary rte_eth_dev_list.

From patch perspective
https://patches.dpdk.org/project/dpdk/patch/20250721073851.963141-1-14pwcse1224@uetpeshawar.edu.pk/
what Stephen shared is correct, PMD are not incharge of process aliveness. It is correct hence NAK

net/ice: fix segfault in secondary process by validating dev_private pointer - Patchwork<https://patches.dpdk.org/project/dpdk/patch/20250721105522.1019515-1-14pwcse1224@uetpeshawar.edu.pk/>
trying to do in ICE driver should be NAK

From solution perspective, in my earlier email I clearly asked why have not explored multi-process communication thread. Link to it is same as above under section ` 4.4. Communication between multiple processes`

You could always design when ` (ctrl + c or ctrl + q)` primary can send a broadcast to all secondaries to stop eth, event, bbdev or any such execution or simply exit.
This is what we designed and shared as working logic.



Note: You have also mentioned ` The community agrees with the current solution. ` which paints a picture of

  1.  Only there is one way to solve this problem.
  2.  Since I did not agree to your thought process I am not community.
Personally, I am not happy with such biases, DPDK had been supporting and nurturing open healthy conversation and platform. I am not aware this was changed.



[-- Attachment #2: Type: text/html, Size: 15193 bytes --]

  reply	other threads:[~2025-08-11 11:34 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-22 11:54 [PATCH] lib/ethdev: fix segfault in secondary process by validating dev_private pointer Khadem Ullah
2025-07-22 13:39 ` Stephen Hemminger
2025-07-22 14:30   ` Khadem Ullah
2025-07-22 15:42     ` Stephen Hemminger
2025-07-22 16:01       ` Khadem Ullah
2025-07-22 16:13         ` Bruce Richardson
2025-07-22 17:04           ` Khadem Ullah
2025-07-22 17:38             ` Stephen Hemminger
2025-07-22 17:53               ` Khadem Ullah
2025-07-22 18:21                 ` Stephen Hemminger
2025-07-22 19:03                   ` Khadem Ullah
2025-07-22 19:05                   ` Ivan Malov
2025-07-22 22:28                     ` Stephen Hemminger
2025-07-23  4:29 ` Khadem Ullah
2025-07-23  4:50 ` [PATCH v2] " Khadem Ullah
2025-07-23 12:19   ` Khadem Ullah
2025-07-23 13:13     ` Khadem Ullah
2025-07-23 13:24       ` Ivan Malov
2025-07-23 13:26         ` Khadem Ullah
2025-07-23 13:31           ` Ivan Malov
2025-07-23 13:10   ` [PATCH] [PATCH v3] " Khadem Ullah
2025-07-23 13:19     ` Ivan Malov
2025-07-23 13:34       ` Khadem Ullah
2025-07-23 14:22         ` Stephen Hemminger
2025-07-24  5:49           ` Khadem Ullah
2025-07-25 13:00           ` Khadem Ullah
2025-07-25 12:55     ` [PATCH] [PATCH v4] " Khadem Ullah
2025-07-28 21:45       ` Stephen Hemminger
2025-07-29  5:42         ` Khadem Ullah
2025-07-29 21:34           ` Stephen Hemminger
2025-07-30  5:07             ` Khadem Ullah
2025-08-08  3:49               ` Varghese, Vipin
2025-08-08 15:32                 ` Stephen Hemminger
2025-08-11 10:19                   ` Varghese, Vipin
2025-08-11 10:28                     ` Khadem Ullah
2025-08-11 10:39                       ` Varghese, Vipin
2025-07-29  6:39       ` [PATCH] app/testpmd: fix segfault in secondary process by monitoring primary Khadem Ullah
2025-07-29  6:39         ` [PATCH] [PATCH v4] lib/ethdev: fix segfault in secondary process by validating dev_private pointer Khadem Ullah
2025-07-29  6:39         ` [PATCH] [PATCH v5] app/testpmd: fix segfault in secondary process by monitoring primary Khadem Ullah
2025-07-29 14:48           ` Stephen Hemminger
2025-07-29 21:48           ` Stephen Hemminger
2025-07-30  5:24             ` Khadem Ullah
2025-08-08  3:44               ` Varghese, Vipin
2025-08-08 16:17                 ` Stephen Hemminger
2025-08-11 10:23                   ` Varghese, Vipin
2025-08-11 10:27                     ` Khadem Ullah
2025-07-30  5:56           ` [PATCH] app/testpmd: monitor state of primary process when using secondary Khadem Ullah
2025-07-30  6:08           ` [PATCH v6] " Khadem Ullah
2025-08-01 22:50             ` Stephen Hemminger
2025-08-04  7:54           ` [PATCH v7] " Khadem Ullah
2025-08-04 11:33           ` Khadem Ullah
2025-08-04 15:44             ` Stephen Hemminger
2025-08-05  0:50             ` fengchengwen
2025-08-08  3:23             ` Varghese, Vipin
2025-08-08  5:44               ` Khadem Ullah
2025-08-08 10:59                 ` Varghese, Vipin
2025-08-08 11:49                   ` Khadem Ullah
2025-08-08 16:49                     ` Stephen Hemminger
2025-08-08 17:01                       ` Khadem Ullah
2025-08-11 10:37                       ` Varghese, Vipin
2025-08-11 11:14                         ` Khadem Ullah
2025-08-11 11:34                           ` Varghese, Vipin [this message]
2025-08-11 11:55                             ` Khadem Ullah
2025-08-11 14:44                               ` Varghese, Vipin
2025-08-11 17:11                                 ` Khadem Ullah
2025-08-11 10:30                     ` Varghese, Vipin
2025-08-11 10:51                       ` Khadem Ullah
2025-08-11 11:07                         ` Varghese, Vipin
2025-08-08 15:28                 ` Stephen Hemminger
2025-08-08 15:50                   ` Khadem Ullah
2025-08-08 16:10               ` Stephen Hemminger
2025-07-23 14:21   ` [PATCH v2] lib/ethdev: fix segfault in secondary process by validating dev_private pointer 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=PH7PR12MB85965BF756C6D234FB8714068228A@PH7PR12MB8596.namprd12.prod.outlook.com \
    --to=vipin.varghese@amd.com \
    --cc=14pwcse1224@uetpeshawar.edu.pk \
    --cc=Ferruh.Yigit@amd.com \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=dev@dpdk.org \
    --cc=stephen@networkplumber.org \
    --cc=thomas@monjalon.net \
    /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).