DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Dumitrescu, Cristian" <cristian.dumitrescu@intel.com>
To: Ferruh Yigit <ferruh.yigit@amd.com>,
	Stephen Hemminger <stephen@networkplumber.org>,
	"Jangra, Yogesh" <yogesh.jangra@intel.com>,
	"Singh, Aman Deep" <aman.deep.singh@intel.com>,
	"Zhang, Yuying" <yuying.zhang@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
	"R, Kamalakannan" <kamalakannan.r@intel.com>,
	"Suresh Narayane, Harshad" <harshad.suresh.narayane@intel.com>
Subject: RE: [PATCH] app/testpmd: fix closing softnic port before ethdev ports
Date: Fri, 10 Mar 2023 13:47:36 +0000	[thread overview]
Message-ID: <CH0PR11MB5724008EB93FED43DCD8AD37EBBA9@CH0PR11MB5724.namprd11.prod.outlook.com> (raw)
In-Reply-To: <10c16ee4-1c6c-8686-00a6-b5628f415267@amd.com>



> -----Original Message-----
> From: Ferruh Yigit <ferruh.yigit@amd.com>
> Sent: Friday, March 10, 2023 12:00 PM
> To: Dumitrescu, Cristian <cristian.dumitrescu@intel.com>; Stephen Hemminger
> <stephen@networkplumber.org>; Jangra, Yogesh <yogesh.jangra@intel.com>;
> Singh, Aman Deep <aman.deep.singh@intel.com>; Zhang, Yuying
> <yuying.zhang@intel.com>
> Cc: dev@dpdk.org; R, Kamalakannan <kamalakannan.r@intel.com>; Suresh
> Narayane, Harshad <harshad.suresh.narayane@intel.com>
> Subject: Re: [PATCH] app/testpmd: fix closing softnic port before ethdev ports
> 
> On 3/9/2023 5:19 PM, Dumitrescu, Cristian wrote:
> >
> >
> >> -----Original Message-----
> >> From: Stephen Hemminger <stephen@networkplumber.org>
> >> Sent: Thursday, March 9, 2023 4:31 PM
> >> To: Jangra, Yogesh <yogesh.jangra@intel.com>
> >> Cc: dev@dpdk.org; Dumitrescu, Cristian <cristian.dumitrescu@intel.com>; R,
> >> Kamalakannan <kamalakannan.r@intel.com>; Suresh Narayane, Harshad
> >> <harshad.suresh.narayane@intel.com>
> >> Subject: Re: [PATCH] app/testpmd: fix closing softnic port before ethdev
> ports
> >>
> >> On Thu,  9 Mar 2023 14:42:49 +0000
> >> Yogesh Jangra <yogesh.jangra@intel.com> wrote:
> >>
> >>> +		/*
> >>> +		 * SoftNIC runs on the sevice core, it uses the resources from
> >>> +		 * the testpmd application. When we run quit command, the
> >> testpmd
> >>> +		 * application stops ethdev ports first, SoftNIC will try to
> >>> +		 * access the port and sometimes that result in segmentation
> >>> +		 * error. So first closing the SoftNIC port.
> >>> +		 */
> >>> +		RTE_ETH_FOREACH_DEV(pt_id) {
> >>> +			if (!strcmp(ports[pt_id].dev_info.driver_name,
> >> "net_softnic")) {
> >>> +				stop_port(pt_id);
> >>> +				close_port(pt_id);
> >>> +			}
> >>> +		}
> >>> +
> >>
> >> NAK
> >> No driver specific hacks please.
> >>
> >> Instead fix the driver design or bug please.
> >
> > Hi Stephen,
> >
> > This is not a Soft NIC driver-specific hack, this is required for working around
> some of the ethdev drivers that don't implement the stop() API correctly and
> free up the device queues or some other internal resources on stop() instead of
> close().
> >
> 
> Why not fix the misbehaving drivers, instead of working around for
> softnic, as Stephen suggested?
> 
> Is there a list of problematic drivers?
> 

Ferruh, I think this is not a reasonable request. We don't have the expertise to fix all drivers, not the hardware to test all drivers.

> > The Soft NIC is a meta-device that sits on top of other "physical" ethdev
> devices, so when the Soft NIC device continues to poll the queues of those
> physical devices after their queues have been freed, the Soft NIC will get a
> segfault. This fix is required to protect against this sort of incorrect driver
> behavior by simply stopping the Soft NIC devices first.
> >
> > We already have several driver specific branches in the test-pmd for e.g. LAG
> or virtual devices; IMO this small change falls in the same category and it should
> get accepted.
> >
> > Please let us know if this makes sense to you?
> >
> > Regards,
> > Cristian


  parent reply	other threads:[~2023-03-10 13:47 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-09 14:42 Yogesh Jangra
2023-03-09 16:02 ` [PATCH v2] " Yogesh Jangra
2024-04-18 15:29   ` Ferruh Yigit
2023-03-09 16:31 ` [PATCH] " Stephen Hemminger
2023-03-09 17:19   ` Dumitrescu, Cristian
2023-03-09 19:09     ` Dumitrescu, Cristian
2023-03-09 20:22     ` Stephen Hemminger
2023-03-10  9:09       ` Singh, Aman Deep
2023-03-10 13:45         ` Dumitrescu, Cristian
2023-03-10 12:00     ` Ferruh Yigit
2023-03-10 13:47       ` David Marchand
2023-03-10 13:47       ` Dumitrescu, Cristian [this message]
2023-03-10 13:49         ` David Marchand
2023-03-10 14:36           ` Dumitrescu, Cristian
2023-03-10 14:39             ` David Marchand
2023-03-10 14:58             ` Thomas Monjalon
2023-03-10 13:58         ` Ferruh Yigit
2023-03-10 16:44           ` Stephen Hemminger
2023-03-17  7:11             ` Jangra, Yogesh
2023-03-09 19:08 ` Dumitrescu, Cristian

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=CH0PR11MB5724008EB93FED43DCD8AD37EBBA9@CH0PR11MB5724.namprd11.prod.outlook.com \
    --to=cristian.dumitrescu@intel.com \
    --cc=aman.deep.singh@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@amd.com \
    --cc=harshad.suresh.narayane@intel.com \
    --cc=kamalakannan.r@intel.com \
    --cc=stephen@networkplumber.org \
    --cc=yogesh.jangra@intel.com \
    --cc=yuying.zhang@intel.com \
    /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).