DPDK patches and discussions
 help / color / mirror / Atom feed
From: Ferruh Yigit <ferruh.yigit@intel.com>
To: Olivier Matz <olivier.matz@6wind.com>, dev@dpdk.org
Cc: David Marchand <david.marchand@redhat.com>,
	Thomas Monjalon <thomas@monjalon.net>
Subject: Re: [dpdk-dev] [PATCH] net/pcap: fix registration of timestamp dynamic field
Date: Fri, 13 Nov 2020 14:02:38 +0000
Message-ID: <e5e25f86-ce2f-bbe5-6292-47473c585705@intel.com> (raw)
In-Reply-To: <20201113131319.GR1898@platinum>

On 11/13/2020 1:13 PM, Olivier Matz wrote:
> On Fri, Nov 13, 2020 at 11:39:57AM +0100, Olivier Matz wrote:
>> In pcap pmd, the timestamp mbuf dynamic field is mandatory. When the
>> pcap pmd is created in a secondary process (this is the case for pdump),
>> it cannot be registered because this is not allowed from a secondary
>> process.
>>
>> To ensure that the field is properly registered, do it from probe()
>> instead of configure(). Indeed, probe() is invoked on the primary
>> process when a device is created in a secondary.
>>

probe() invoked first in the primary, later in the secondary, both process calls 
the driver probe(). But for this case probe(), and dynfield register, being 
called first in primary seems solving the problem.
Would you be OK to change last sentences as:
"Indeed, probe() is first invoked on the primary process when a device is 
created in a secondary, this enables registering dynfield from secondary process."

>> Bugzilla ID: 571
>> Fixes: d23d73d088c1 ("net/pcap: switch Rx timestamp to dynamic mbuf field")
>>
>> Signed-off-by: Olivier Matz <olivier.matz@6wind.com>

Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>

>> ---
> 
> One additional comment about this patch.
> 
> While it solves the issue described in the bug report, there may still
> be a gap when it is needed to register a dynamic field/flag from a
> secondary process. This happens when registering and configuring devices
> from a secondary process (is it supported?). It happens if the secondary
> process initializes a library which is not initialized in primary, and
> which requires a dynamic field.
> 
>  From afar, it does not look too difficult to implement dynamic field
> registration from secondary processes. The only thing missing is a way
> to allocate the shared memory in the primary process at initialization.
> Currently, there is no init callback that is invoked when eal init is
> done.
> 

I was checking this, it seems what prevents to register dnyfield from the 
secondary process is 'init_shared_mem()', so if primary process registers any 
dynfield first, secondary process can register dynfields too.
Do you think should this limitation documented?

> This is the exact same problem than for this issue:
> http://inbox.dpdk.org/dev/20200504074227.GA6327@platinum/#t
> 

<...>


  reply	other threads:[~2020-11-13 14:02 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-13 10:39 Olivier Matz
2020-11-13 13:13 ` Olivier Matz
2020-11-13 14:02   ` Ferruh Yigit [this message]
2020-11-13 17:23     ` Ferruh Yigit
2020-11-13 20:35     ` Olivier Matz

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=e5e25f86-ce2f-bbe5-6292-47473c585705@intel.com \
    --to=ferruh.yigit@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=olivier.matz@6wind.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

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git