[dpdk-dev] [PATCH v7] eal: add manual probing option
Stephen Hemminger
stephen at networkplumber.org
Wed Jun 14 21:33:22 CEST 2023
On Thu, 23 Jan 2020 10:58:13 +0100
Gaetan Rivet <grive at u256.net> wrote:
> Add a new EAL option enabling manual probing in the EAL.
> This command line option will configure the EAL so that buses
> will not trigger their probe step on their own.
>
> Applications are then expected to hotplug devices as they see fit.
>
> Devices declared on the command line by the user (using -w and --vdev),
> will be probed using the hotplug API, in the order they are declared.
>
> This has the effect of offering a way for users to control probe order
> of their devices, for drivers requiring it.
>
> Signed-off-by: Gaetan Rivet <grive at u256.net>
> Acked-by : Vamsi Attunuru <vattunuru at marvell.com>
> Tested-by: Vamsi Attunuru <vattunuru at marvell.com>
> Reviewed-by: Jerin Jacob <jerinj at marvell.com>
> ---
>
> haven't heard many opinions on the matter, please shout if you see an issue
> with this approach.
>
> @Slava: I have tested rather quickly that it does not break anything,
> and that it works as intended for basic cases.
> Can you test it further for your use-case and tell me if it works fine?
>
> Beyond the obvious difference between both probe mode, something to keep in mind:
> while using -w on invalid devices would not block (PCI) bus probing, it will stop manual
> probing in its track. All devices need to exist and be valid device IDs.
>
> v2: fixed a few typos, map file (and used Travis to validate).
>
> Slava, are you able to test this patch?
>
> v3: properly fixed the map file (inherited 19.08 instead of 19.05).
>
> Added a function to set the probe manual from the application,
> without having the user do it from the command line.
>
> Stopped spamming Slava about it, Vamsi was actually the one interested in it!
>
> Standing issue worth chiming in:
>
> Currently manual-probe will cut off probing from all buses.
> It could be interesting to be able to only cut buses supporting hotplug,
> given that they are the one able to probe devices afterward.
>
> No real use-case for this right now, so leaving as-is. Might be worth
> considering in the future.
>
> v4: Rebased on master,
> Moved implementation in common EAL,
> Used public API within the EAL to set the option,
> Made the API experimental
>
> v5: added note in the Getting Started Guide.
>
> v6: Rebased on master
>
> see http://mails.dpdk.org/archives/dev/2020-January/154178.html
> for reference to this version, linking v7 to v5 thread.
>
> v7: Updated author and SoB.
>
> doc/guides/linux_gsg/eal_args.include.rst | 13 ++++++
> doc/guides/rel_notes/release_20_02.rst | 9 ++++
> lib/librte_eal/common/eal_common_bus.c | 6 +++
> lib/librte_eal/common/eal_common_dev.c | 54 ++++++++++++++++++++++
> lib/librte_eal/common/eal_common_options.c | 8 ++++
> lib/librte_eal/common/eal_internal_cfg.h | 1 +
> lib/librte_eal/common/eal_options.h | 2 +
> lib/librte_eal/common/eal_private.h | 9 ++++
> lib/librte_eal/common/include/rte_eal.h | 36 +++++++++++++++
> lib/librte_eal/rte_eal_version.map | 4 ++
> 10 files changed, 142 insertions(+)
This patch seems to have been held in limbo for 3 years.
For me, it is ok, but concerned that it opens up a whole scenario of possible
usages that may not be tested, and probably don't work. Testing all the possible
combinations of probe ordering is a geometric problem.
So if user submits bug then the response would have to be:
Manual probing is an experimental option which may not work.
More information about the dev
mailing list