From: "Roger B. Melton" <rmelton@cisco.com>
To: Thomas Monjalon <thomas.monjalon@6wind.com>
Cc: dev@dpdk.org, Don Provan <dprovan@bivio.net>
Subject: Re: Making rte_eal_pci_probe() in rte_eal_init() optional?
Date: Wed, 18 Nov 2015 17:13:51 -0500 [thread overview]
Message-ID: <564CF81F.10103@cisco.com> (raw)
In-Reply-To: <1972675.qABnqcockr@xps13>
Hi Thomas, in-line -Roger
On 11/17/15 10:46 AM, Thomas Monjalon wrote:
> 2015-11-17 08:56, Roger B. Melton:
>> Hi David, in-line -Roger
>>
>> On 11/16/15 4:46 AM, David Marchand wrote:
>>> Hello Roger,
>>>
>>> On Sun, Nov 15, 2015 at 3:45 PM, Roger B. Melton <rmelton@cisco.com
>>> <mailto:rmelton@cisco.com>> wrote:
>>>
>>> I like the "-b all" and "-w none" idea, but I think it might be
>>> complicated to implement it the way we would need it to work. The
>>> existing -b and -w options persist for the duration of the
>>> application, and we would need the "-b all"/"-w none" to persists
>>> only through rte_eal_init() time. Otherwise our attempt to to
>>> attach a device at a later time would be blocked by the option.
>>>
>>> I agree, the black/white lists should only apply to initial scan.
>>> I forgot about this problem ...
>>> I had started some cleanup in the pci scan / attach code but this is
>>> too late for 2.2, I will post this in the next merge window.
>>>
>>>
>>> Wouldn't it be simpler to have an option to disable the
>>> rte_eal_init() time the probe. Would that address the issue with
>>> VFIO, prevent automatically attaching to devices while permitting
>>> on demand attach?
>>>
>>>
>>> I suppose we can do this yes (I think Thomas once proposed off-list an
>>> option like --no-pci-scan).
>>> Do you think you can send a patch ?
>> What about --no-pci-init-probe? I know it's long, but it is more
>> descriptive of it's purpose to disable only the init time pci probe.
> Why not a "-b all"?
> Making it work would also solve the case where you to scan only part of
> the devices and initialize the blacklisted ones later.
> .
>
Do you envision "-b all" setting a flag that would be used to block
rte_eal_init() invocation of rte_eal_pci_probe()? e.g. If we have a new
API, *rte_eal_pci_blacklist_all_get()* that returns a non-zero value if
"-b all" was specified, then in rte_eal_init() we would have something like:
...
/* Probe & Initialize PCI devices */
* if (!rte_eal_pci_blacklist_all_get())** <--- New check*
if (rte_eal_pci_probe())
rte_panic("Cannot probe PCI\n");
...
Or setting a flag that would be checked in rte_eal_probe_one() similar
to the existing per device blacklist check? e.g. Again with a new API,
*rte_eal_pci_blacklist_all_get()* that returns a non-zero value if "-b
all" was specified, then in rte_eal_pci_probe_one_driver() we would have
something like:
/* no initialization when blacklisted, return without error */
if (*rte_eal_pci_blacklist_all_get() || <--- New check*
(dev->devargs != NULL &&
dev->devargs->type == RTE_DEVTYPE_BLACKLISTED_PCI)) {
RTE_LOG(DEBUG, EAL, " Device is blacklisted, not
initializing\n");
return 1;
}
The former would work, but I think it would be confusing for "-b all" to
only apply to init.
The latter would be consistent with how "-b <PCI DBDF>" works, but in
order to initialize devices at a later time, we would need a way to
clear the blacklist all state at run time so that
*rte_eal_pci_blacklist_all()* would return false. For example, something
like *rte_eal_pci_blacklist_all_clear()*.
Or do you have something else in mind entirely?
next prev parent reply other threads:[~2015-11-18 22:14 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-13 22:58 Making rte_eal_pci_probe() in rte_eal_init() optional? Don Provan
2015-11-13 23:03 ` Jan Viktorin
2015-11-14 15:55 ` Roger B. Melton
2015-11-14 17:51 ` David Marchand
2015-11-15 14:45 ` Roger B. Melton
2015-11-16 9:46 ` David Marchand
2015-11-17 13:56 ` Roger B. Melton
2015-11-17 15:46 ` Thomas Monjalon
2015-11-18 22:13 ` Roger B. Melton [this message]
2015-11-21 12:54 ` Roger B. Melton
-- strict thread matches above, loose matches on Subject: below --
2015-11-12 22:43 Roger B Melton
2015-11-13 8:49 ` David Marchand
2015-11-13 12:07 ` Roger B. Melton
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=564CF81F.10103@cisco.com \
--to=rmelton@cisco.com \
--cc=dev@dpdk.org \
--cc=dprovan@bivio.net \
--cc=thomas.monjalon@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.