DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Lipiec, Herakliusz" <herakliusz.lipiec@intel.com>
To: "Burakov, Anatoly" <anatoly.burakov@intel.com>,
	Stephen Hemminger <stephen@networkplumber.org>
Cc: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>,
	"Richardson, Bruce" <bruce.richardson@intel.com>,
	"dev@dpdk.org" <dev@dpdk.org>,
	Thomas Monjalon <thomas@monjalon.net>
Subject: Re: [dpdk-dev] Should we disallow running secondaries after primary has died?
Date: Fri, 26 Jul 2019 17:33:54 +0000	[thread overview]
Message-ID: <EB47986807B11C41AD0C5C13A40DE88360FD3D@IRSMSX104.ger.corp.intel.com> (raw)
In-Reply-To: <2b37da59-68fa-57e7-1bc4-63bc52e5ccb7@intel.com>



> From: Burakov, Anatoly
> 
> On 26-Jul-19 5:44 PM, Lipiec, Herakliusz wrote:
> >
> >
> >> -----Original Message-----
> >> From: Burakov, Anatoly
> >>
> >> On 26-Jul-19 4:56 PM, Lipiec, Herakliusz wrote:
> >>>
> >>>
> >>>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Burakov,
> >>>> Anatoly On 26-Jul-19 4:01 PM, Stephen Hemminger wrote:
> >>>>> On Fri, 26 Jul 2019 10:53:58 +0100 "Burakov, Anatoly"
> >>>>> <anatoly.burakov@intel.com> wrote:
> >>>>>
> >>>>>>>
> >>>>>>> NP to disallow it.
> >>>>>>> In fact, I think it would be easier for everyone just to drop
> >>>>>>> current DPDK MP model, and keep just standalone DPDK instances.
> >>>>>>
> >>>>>> That's the dream, but i don't think it'll ever come to fruition,
> >>>>>> at least not without a huge push from the community.
> >>>>>
> >>>>> There are several net appliances that require primary/secondary model.
> >>>>> I think initially during DPDK development it was sold as a feature
> >>>>> to the Network vendors.
> >>>>>
> >>>>> It might be possible to clamp down on what API's are supported by
> >>>>> secondary process. For example, disallowing any control operations
> >>>>> start/stop
> >>>> etc.
> >>>>>
> >>>>
> >>>> We're getting slightly off topic here.
> >>>>
> >>>> The original question was about whether we want to support a use
> >>>> case where a secondary can initialize after primary process has
> >>>> died, and if we don't, whether we want to 1) outright deny
> >>>> initialization, or
> >>>> 2) allow it, but document as unsupported and discourage it.
> >>> Allowing something that is unsupported sounds like asking for trouble.
> >>
> >> We wouldn't be "allowing" it as much as we'd just be disclaiming any
> >> responsibility for when things go wrong, *if* someone tries that. I
> >> suppose the concern is that someone would try that /accidentally/,
> >> and possibly screw up other secondary processes that may still be running.
> >>
> >>>
> >>>>
> >>>> The only use case i can think of that would require it is proc-info app.
> >>>> Dumping stuff from a dead process can be useful for debugging, so
> >>>> perhaps
> >> we
> >>>> can agree to put a warning at EAL startup, saying that this is not
> >>>> supported,
> >> but
> >>>> still allow processes to initialize.
> >>>>
> >>> If this is supposed to be useful for debugging then maybe allow only
> >>> when
> >> some kind of flag is passed to eal?
> >>> This would also prevent from initializing the process incidentally.
> >>
> >> We have too many EAL flags as it is! I suppose this could be done -
> >> proc-info already hardcodes the "--proc-type" flag so that it only
> >> ever runs as a secondary, we could add another one there. So,
> >> technically, this is doable.
> > Well it’s a bad idea to allow this without any "yes I know what I'm doing"
> >
> >>
> >> I'm just not sure of the prospect of adding a yet another EAL flag to
> >> serve a purpose of enabling one specific application to run. That
> >> said, an "--i-know-what-i-am-doing" flag certainly sounds like a fun idea!
> > Well are there any other "unsupported" operations in dpdk ?
> > Maybe one "--i-(don’t)-know-what-i-am-doing" aka debug (devmode,
> > dangerous or whatever) flag is a good option to enable/disable these
> > kind of behaviours and cover them all, this would definitely help preventing
> someone from doing this accidentally, or unknowingly (for example from within
> a script).
> 
> To be completely clear, it's not like it's /dangerous/ to allow this sort of init. At
> least not currently. Things like ports will be missing from the process, but usually
> initialization is *attaching* to data, not creating new one. So, allowing such
> unsupported scenario is, strictly speaking, safe, at least for now.
> 
> I am not aware of any other "unsupported" operations that DPDK allows you to
> do, so that would be a first. There are debug modes for various libraries, but 1)
> they're compile time, 2) they're compile time for performance reasons, meaning
> we can't bake them in and enable them with a switch, and 3) they're not
> "unsupported", they're just not the default.

Well this could also be a compile time option right? 
Although eal switch sound like better solution tbh. What I meant by dangerous is 
that applications that allow for operations that shouldn’t be done, usually have a switch called
devmode/dangerous (like typical name for the "-i-know-what-im-doing" switch), not that this operation itself
is a dangerous one. 
> 
> >
> >>
> >> --
> >> Thanks,
> >> Anatoly
> 
> 
> --
> Thanks,
> Anatoly

      reply	other threads:[~2019-07-26 17:34 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-26  9:05 Burakov, Anatoly
2019-07-26  9:39 ` Bruce Richardson
2019-07-26  9:50   ` Ananyev, Konstantin
2019-07-26  9:53     ` Burakov, Anatoly
2019-07-26 15:01       ` Stephen Hemminger
2019-07-26 15:44         ` Burakov, Anatoly
2019-07-26 15:56           ` Lipiec, Herakliusz
2019-07-26 16:02             ` Burakov, Anatoly
2019-07-26 16:44               ` Lipiec, Herakliusz
2019-07-26 16:57                 ` Burakov, Anatoly
2019-07-26 17:33                   ` Lipiec, Herakliusz [this message]

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=EB47986807B11C41AD0C5C13A40DE88360FD3D@IRSMSX104.ger.corp.intel.com \
    --to=herakliusz.lipiec@intel.com \
    --cc=anatoly.burakov@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=konstantin.ananyev@intel.com \
    --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).