Packed virtqueue performance

From KVM

Packed virtqueue performance results

This page is to share results of packed virtqueue implementations.

DPDK:

Jens: PVP setup as described in DPDK PVP reference document.

CPU: Intel(R) Xeon(R) CPU E5-2667 v4 @ 3.20GHz NICs: 2 XL710 NICs connected back-to-back. T-Rex as traffic generator. RHEL7.6, DPDK commit 1fd95c1

./binary-search.py --traffic-generator=trex-txrx --search-runtime=20 --validation-runtime=20 --rate-unit=mpps --rate=20 --run-bidirec=1 --run-revunidirec=0 --frame-size=64 --num-flows=1 --one-shot=0 --max-loss-pct=0.05

Packed virtqueues: RESULT: [ {

   "rx_bandwidth": 10442536860.843485,
   "rx_packets": 311247037,
   "rx_pps": 15539489.376255184,
   "tx_bandwidth": 10442619999.325993,
   "tx_packets": 311249515,
   "tx_pps": 15539613.094235107,
   "tx_pps_target": 15576171.875

} , {

   "rx_bandwidth": 10442079599.189692,
   "rx_packets": 311233408,
   "rx_pps": 15538808.927365614,
   "tx_bandwidth": 10442619999.325993,
   "tx_packets": 311249515,
   "tx_pps": 15539613.094235107,
   "tx_pps_target": 15576171.875

} ]

Split virtqueues: RESULT: [ {

   "rx_bandwidth": 10444998619.78674,
   "rx_packets": 311141603,
   "rx_pps": 15543152.708015982,
   "tx_bandwidth": 10448621216.958544,
   "tx_packets": 311249515,
   "tx_pps": 15548543.47761688,
   "tx_pps_target": 15576171.875

} , {

   "rx_bandwidth": 10448611448.11192,
   "rx_packets": 311249224,
   "rx_pps": 15548528.940642737,
   "tx_bandwidth": 10448621216.958544,
   "tx_packets": 311249515,
   "tx_pps": 15548543.47761688,
   "tx_pps_target": 15576171.875

} ]