[dpdk-dev] [PATCH v2 1/1] pci: default to whitelist mode

Gaëtan Rivet gaetan.rivet at 6wind.com
Tue Mar 28 15:35:16 CEST 2017

On Tue, Mar 28, 2017 at 02:03:48PM +0100, Bruce Richardson wrote:
>On Tue, Mar 28, 2017 at 02:44:09PM +0200, Gaëtan Rivet wrote:
>> On Tue, Mar 28, 2017 at 01:20:00PM +0100, Bruce Richardson wrote:
>> > On Tue, Mar 28, 2017 at 02:01:29PM +0200, Gaetan Rivet wrote:
>> > > Expects all devices to be explicitly defined before being probed.
>> > >
>> > > The blacklist mode can be prone to errors, coaxing users in
>> > > capturing devices that could be used for management or otherwise.
>> > > The whitelist mode offers users more control and highlight
>> > > mistakes by making them visible on the command line.
>> > >
>> > > This is more useful to have a clear idea of the state of the
>> > > system used, which is better in the context of standalone /
>> > > headless applications.
>> > >
>> > > Using the -b option will revert to the original behavior.
>> > >
>> > > Signed-off-by: Gaetan Rivet <gaetan.rivet at 6wind.com> --- v2:
>> > > justify this default behavior evolution.  ---
>> >
>> > I don't have major objections to this patch, though it does make it
>> > mandatory to use port parameters where before it was not. The one
>> > suggestion I will make is that, if we take this approach, we should
>> > probably add a --wl-all (whitelist-all) flag to go back to having
>> > all ports automatically bound, if so desired.
>> >
>> Are there use cases where the blacklist mode would be used without
>> blacklisting any device? The current -b option is almost enough for
>> the same level of functionality.
>For ports used for management, those will probably remain bound to
>the regular kernel driver, and not available for DPDK use. That means
>that the DPDK app need not specify any blacklist or whitelist options
>right now, you can determine what ports to use or not simply by binding
>to a uio/vfio driver or not at system setup time.

Yes, what I (slightly) dislike about that is that we uselessly scan a 
few devices as well as run probes against them by enumerating all DPDK 
drivers and seeing what sticks to the wall. Sure it works and it worked 
that way for some time, but in the end this just seems a little hackish.

>Is this not the normal way people do port setup for DPDK?

I cannot really speak for other users, my point in putting this patch 
out there is also to have a survey of usages and see if anyone is 
resolutely against it.

At least for 6WIND, we indeed use the whitelist mode in general. This is 
better for having deterministic test runs among heterogeneous hardware 
platforms and explicit test and bug reports.

>> If there is an actual need to a full PCI probe, adding this option is
>> certainly possible. I was thinking otherwise of allowing "all" as an
>> argument to -w, which would have our users using -wall or -w=all, which
>> seems clear enough. This would essentially be the inverse of the --no-pci
>> parameter.
>> Which could probably be removed if this patch is accepted.
>> --
>> Gaëtan Rivet
>> 6WIND

Gaëtan Rivet

More information about the dev mailing list