From: Thomas Monjalon <thomas@monjalon.net>
To: "Gaëtan Rivet" <gaetan.rivet@6wind.com>
Cc: dev@dpdk.org
Subject: Re: [PATCH] net/failsafe: do not probe device if plugged out
Date: Thu, 13 Jul 2017 08:52:33 +0200 [thread overview]
Message-ID: <1868638.SUpGZpUFpc@xps> (raw)
In-Reply-To: <20170712203957.GG11154@bidouze.vm.6wind.com>
12/07/2017 22:39, Gaëtan Rivet:
> Hi Thomas,
>
> Nice idea. A few remarks below:
>
> On Wed, Jul 12, 2017 at 08:28:12PM +0200, Thomas Monjalon wrote:
> > FOREACH_SUBDEV(sdev, i, dev) {
> > if (sdev->state != DEV_PARSED)
> > continue;
> > da = &sdev->devargs;
> > +
>
> Superfluous line.
I don't think so :) It is isolating the "skip" block with its comment.
> > + /* skip plugged out devices */
> > + if (! first_init
> > + && sdev->cmdline == NULL
> > + && strcmp(da->bus->name, "vdev") != 0) {
>
> Use first_init == false instead of negation.
> && should be at the end of the line instead of the start of the next
> one.
Yes
> Indentation is wrong.
No, the coding style is to put 2 tabs for continuation lines.
> > + da->bus->scan();
> > + if (bus->find_device(NULL, cmp_dev_name, da->name) == NULL)
> > + continue; /* device not found */
>
> da->bus->find_device instead of bus->find_device.
> This function cannot find the device back currently on the PCI bus,
> blocking the plugging of VF.
>
> The PCI bus will scan the VF while no rte_devargs exists to
> describe it within the global list. If the device exists, it will
> detect it, allocate it and then set its name.
> Without any rte_devargs, the name of a PCI device falls back to its
> canonical name (DomBDF instead of BDF). The name comparison with
> da->name can only succeed if the slave was declared using the DomBDF
> format.
>
> The fix is to do a deep copy of the rte_devargs (the API has been
> sent previously with the rte_devargs rework but I have since removed
> it) and insert it using rte_eal_devargs_insert(). This is essentially
> the solution I used for the rte_eal_hotplug_add() fix[1].
>
> The alternative fix is to propose an API for buses to transform device
> names into their canonical form on demand... And it would certainly only
> be useful for the PCI bus.
>
> The issue is discussed there:
> [1]: http://dpdk.org/ml/archives/dev/2017-July/071155.html
OK, I was not aware of this exact issue.
So I will wait above fix.
next prev parent reply other threads:[~2017-07-13 6:52 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-12 18:28 [PATCH] net/failsafe: do not probe device if plugged out Thomas Monjalon
2017-07-12 20:39 ` Gaëtan Rivet
2017-07-13 6:52 ` Thomas Monjalon [this message]
2017-07-13 8:14 ` Gaëtan Rivet
2017-07-13 9:17 ` Thomas Monjalon
2017-07-18 8:39 ` Ferruh Yigit
2017-07-18 20:49 ` Thomas Monjalon
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=1868638.SUpGZpUFpc@xps \
--to=thomas@monjalon.net \
--cc=dev@dpdk.org \
--cc=gaetan.rivet@6wind.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.