Hello Gaetan,
(I am assuming that this series is still valid for 18.02 and you will
spin a new version of this.)
On Thursday 12 October 2017 01:48 PM, Gaetan Rivet wrote:
Probing policy was introduced in the previous release as a configuration item.
It was thus added to the generic bus structure, breaking its ABI.
In this release, the IOVA mode can be read from a bus to configure the
EAL. This new configuration element also broke the bus ABI when it was
added.
As new operators had to be implemented for the probe policy item, these
patches were developed to help mitigate this issue.
This control framework allows to expand the rte_bus API without breaking
its ABI. It is meant to be used with configuration elements that may
only be valid for a few buses, while the others would remain untouched
and unaware of the evolution.
A central control operator is used, similarly to the working of rte_flow
API in the ether layer. Each driver thus chooses to expose a set of
operators relevant to its implementation. The caller is then free to use
those if they are available.
I like the overall idea - similar to an ioctl.
It would help extend the control knobs of buses (drivers?) without
adding additional dependency on ABI/API.
+1
Both Probe mode and IOVA mode operators are implemented for the PCI bus. >
[...]