DPDK patches and discussions
 help / color / mirror / Atom feed
From: Alejandro Lucero <alejandro.lucero@netronome.com>
To: dev <dev@dpdk.org>, Thomas Monjalon <thomas@monjalon.net>,
	 Ferruh Yigit <ferruh.yigit@intel.com>,
	Andrew Rybchenko <arybchenko@solarflare.com>,
	 "Burakov, Anatoly" <anatoly.burakov@intel.com>
Subject: [dpdk-dev] secondary processes and private data
Date: Tue, 25 Sep 2018 15:10:53 +0100	[thread overview]
Message-ID: <CAD+H991JUfGYR_oV=Da-en6E4LDj9r4nHSfWvYcF47xAxBVsSg@mail.gmail.com> (raw)

I've a problem when part of device private data needs to be private per
process.

Current multiprocess support shares device private data between primary and
secondaries but it is all dependent on a pointer initialized to the same
memory address by the multiprocess support code. If there is a per-process
data, If a secondary process changes it the primary gets affected, and the
same for additional secondaries which will affect not just the primary but
other previous secondaries.

The solution is to add support for this inside struct rte_eth_dev,
something like

void *secondary_priv_data;

so it is up to the secondaries to use this field if necessary.

NFP PMD creates the required rte_eth_devs specifically, similar to what is
done inside rte_ethdev.c but adding initialization for an interface needed
when calling device ethdev_init function. There are other PMDs doing this
but none has this requirement for per-process private data.

Please, let me know what you think about this change to struct rte_ethdev
or if you have a better idea for solving this problem.

Thanks

             reply	other threads:[~2018-09-25 14:11 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-25 14:10 Alejandro Lucero [this message]
2018-09-25 14:20 ` Burakov, Anatoly
2018-09-26 13:21 ` Thomas Monjalon
2018-09-26 13:49   ` Alejandro Lucero
2018-09-26 14:33   ` Stephen Hemminger
2018-09-26 15:19     ` Alejandro Lucero

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='CAD+H991JUfGYR_oV=Da-en6E4LDj9r4nHSfWvYcF47xAxBVsSg@mail.gmail.com' \
    --to=alejandro.lucero@netronome.com \
    --cc=anatoly.burakov@intel.com \
    --cc=arybchenko@solarflare.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --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).