From: "Varghese, Vipin" <Vipin.Varghese@amd.com>
To: Khadem Ullah <14pwcse1224@uetpeshawar.edu.pk>,
"stephen@networkplumber.org" <stephen@networkplumber.org>,
"thomas@monjalon.net" <thomas@monjalon.net>,
"Yigit, Ferruh" <Ferruh.Yigit@amd.com>,
"andrew.rybchenko@oktetlabs.ru" <andrew.rybchenko@oktetlabs.ru>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: RE: [PATCH v7] app/testpmd: monitor state of primary process when using secondary
Date: Fri, 8 Aug 2025 10:59:35 +0000 [thread overview]
Message-ID: <PH7PR12MB85968E4B05D92C12C963F1E2822FA@PH7PR12MB8596.namprd12.prod.outlook.com> (raw)
In-Reply-To: <20250808054452.1350869-1-14pwcse1224@uetpeshawar.edu.pk>
[Public]
Hi Khadem,
Snipped
>
> Caution: This message originated from an External Source. Use proper caution
> when opening attachments, clicking links, or responding.
>
>
> Hi Vipin Varghese,
> Thank you for your feedback!
>
> Yes we need graceful exit, directly calling eal_cleanup from secondary was not
> working, we can do the following workaround to use `eal_cleanup`.
>
> diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index
> b7affa6da9..5ef6008a3c 100644
> --- a/app/test-pmd/testpmd.c
> +++ b/app/test-pmd/testpmd.c
> @@ -4347,7 +4347,12 @@ monitor_primary(void *arg __rte_unused)
> * is no longer valid. Calling any cleanup code is going to
> * run into use after free.
> */
> + int ret;
> fprintf(stderr, "\nPrimary process is no longer active, exiting...\n");
> + ret = rte_eal_cleanup();
> + if (ret != 0)
> + rte_exit(EXIT_FAILURE,
> + "EAL cleanup failed: %s\n", strerror(-ret));
> exit(EXIT_FAILURE);
> }
> }
> diff --git a/lib/eal/linux/eal.c b/lib/eal/linux/eal.c index 52efb8626b..087a4b1137
> 100644
> --- a/lib/eal/linux/eal.c
> +++ b/lib/eal/linux/eal.c
> @@ -1333,9 +1333,12 @@ rte_eal_cleanup(void) #ifdef VFIO_PRESENT
> vfio_mp_sync_cleanup();
> #endif
> - rte_mp_channel_cleanup();
> + if (rte_eal_process_type() == RTE_PROC_PRIMARY) {
> + rte_mp_channel_cleanup();
> + rte_eal_alarm_cleanup();
> + }
> +
> eal_bus_cleanup();
> - rte_eal_alarm_cleanup();
> rte_trace_save();
> eal_trace_fini();
> eal_mp_dev_hotplug_cleanup();
>
> If Stephen and others are agree, I can supersede this patch with the newer ones
> containing cleanup changes.
In the email follow up earlier, there is mention from your end as soon as primary is down secondary goes segment fault.
As far I recollect testing for multiprocess using dpdk 22.11 and 23.03 the behavior were different.
1. Primary can exit or segfault.
2. Secondary can still continue to use mbuf and pmd calls without fail.
But if you are seeing there difference in behviour, can you please let us know which version onwards it changed.
With respect to synchronization, when dpdk library-based application is started there is also a MP thread that were created.
Are you sharing that this is no longer functional?
Note: I am trying to understand the behavior observed at your end.
>
> Thank you,
> Best Regards,
> Khadem
next prev parent reply other threads:[~2025-08-08 10:59 UTC|newest]
Thread overview: 58+ 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-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-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 [this message]
2025-08-08 11:49 ` Khadem Ullah
2025-08-08 16:49 ` Stephen Hemminger
2025-08-08 17:01 ` Khadem Ullah
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=PH7PR12MB85968E4B05D92C12C963F1E2822FA@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).