On 4/13/2018 7:30 AM, Thomas Monjalon wrote:
05/04/2018 19:44, Jianfeng Tan:
As we know, we have below limitations in vdev:
- dpdk-procinfo cannot get the stats of (most) vdev in primary process;
- dpdk-pdump cannot dump the packets for (most) vdev in primary proces;
- secondary process cannot use (most) vdev in primary process.
The very first reason is that the secondary process actually does not know
the existence of those vdevs as vdevs are chained on a linked list, and
not shareable to secondary.
In this patch series, we would like to propose a vdev sharing model like this:
- As a secondary process boots, all devices (including vdev) in primary
will be automatically shared. After both primary and secondary process
- Device add/remove in primary will be translated to device hog plug/unplug
event in secondary processes. (TODO)
- Device add in secondary
* If that kind of device support multi-process, the secondary will
request the primary to probe the device and the primary to share
it to the secondary. It's not necessary to have secondary-private
device in this case. (TODO)
* If that kind of device does not support multi-process, the secondary
will probe the device by itself, and the port id is shared among
all primary/secondary processes.
Are you OK to consider this series for DPDK 18.08?
As you may know, we've started working on this functionality since
v17.11. To make it work, we split it into several parts:
(1) move vdev into drivers/bus, merged v17.11;
(2) DPDK IPC, merged in v18.02;
(3) the secondary support for vdev (without datapath).
As it's an important feature asked several times by our users, I would
suggest we target this release.
In the mean time, I will ask the community's help to review and test.