[dpdk-dev] DPDK mbuf pool in SR-IOV env and one RX/TX queue
Saurabh Mishra
saurabh.globe at gmail.com
Fri Jan 22 05:35:20 CET 2016
Hi,
Is it possible for two or more processes to share the same mbuf_pool in
SR-IOV with single rx/tx queue?
char *eal_argv[] = {"fakeelf",
"-c2",
"-n4",
"--proc-type=primary",};
int ret = rte_eal_init(4, eal_argv);
And for secondary, we are passing --proc-type=secondary and adjust -c
option according to the core number (1 << core_num).
rte_pktmbuf_pool_create(mbuf_pool_name,
NB_MBUFS,
MBUF_CACHE_SIZE, 0,
RTE_MBUF_DEFAULT_BUF_SIZE,
rte_socket_id());
We have seen that it does not work. However, with PCI pass through of whole
NIC, we can easily share same mbuf_pool with many processes.
What are the limitations with SR-IOV and DPDK? If we create one primary and
don't create any secondary proc-type, then that seems to work with SR-IOV.
However, the moment we add a secondary process, rte_mempool_lookup()
returns NULL.
Note that we see only 1 queue for rx and tx and multi-queue gets disabled
the moment we enable VFs.
[683877.050219] ixgbe 0000:06:00.0: *Multi*queue Disabled: Rx Queue count =
1, Tx Queue count = 1
[683879.799872] ixgbe 0000:06:00.1: *Multi*queue Disabled: Rx Queue count =
1, Tx Queue count = 1
The device is question is as follows:
06:00.0 *Ether*net controller: Intel Corporation 82599ES 10-Gigabit
SFI/SFP+ Network Connection (rev 01)
06:00.1 *Ether*net controller: Intel Corporation 82599ES 10-Gigabit
SFI/SFP+ Network Connection (rev 01)
06:10.0 *Ether*net controller: Intel Corporation 82599 *Ether*net
Controller Virtual Function (rev 01)
06:10.1 *Ether*net controller: Intel Corporation 82599 *Ether*net
Controller Virtual Function (rev 01)
06:10.2 *Ether*net controller: Intel Corporation 82599 *Ether*net
Controller Virtual Function (rev 01)
06:10.3 *Ether*net controller: Intel Corporation 82599 *Ether*net
Controller Virtual Function (rev 01)
Thanks,
/Saurabh
More information about the dev
mailing list