Hi Folks,
I'm observing some unexpected behavior related to how statistics are retrieved from a Physical Function (PF) on an Intel 810 NIC.
Scenario:
I have two dpdk-testpmd
instances running in separate Kubernetes pods (same worker node). Each instance uses the -a
flag to bind to a different VF. (i.e to have consistent port id 0)
Questions:
PF Statistics and 64B Line Rate:
I'm noticing that the RX packet-per-second value reported on the PF side for a given VF is higher than the theoretical maximum for 64-byte packets.
Does the Intel 810 PMD apply any kind of optimization, offloading, or fast path processing when two VFs (e.g., A and B) are on the same PF?
Concurrent Stats Polling:
When two separate dpdk-testpmd
processes are running (in pod A and pod B), does the PMD or driver layer support concurrent reading of PF statistics?
Is there any locking or synchronization mechanism involved when multiple testpmd instances attempt to pull stats from the same PF simultaneously? ( in essence, does a firmware/OF support concurrent read).
Thank you,
cd /usr/local/bin && dpdk-testpmd \
--main-lcore \$main -l \$cores -n 4 \
--socket-mem 2048 \
--proc-type auto --file-prefix testpmd_rx0 \
-a \$PCIDEVICE_INTEL_COM_DPDK \
-- --forward-mode=rxonly --auto-start --stats-period 1'"
cd /usr/local/bin && dpdk-testpmd \
--main-lcore \$main -l \$cores -n 4 \
--socket-mem 2048 \
--proc-type auto --file-prefix testpmd_rx1 \
-a \$PCIDEVICE_INTEL_COM_DPDK \
-- --forward-mode=rxonly --auto-start --stats-period 1'"