On VMA library we are trying to use Zero copy with vma_api
We are receiving udp packet of 38-45 byte (single packet size) .
And there are 10 multicast stream which are transmitting 200mb per second.
we are using ConnectX-4 Lx
Command —> VMA_SPEC=latency LD_PRELOAD=libvma.so nice -n -19 ./InMemoryData
Here InMemoryData is basically written in C++ which is a multithreaded application, all the threads in this application holds a dedicated core for optimization.
Sole purpose of this application is sending and receiving Orderpackets via TCP and UDP protocols .
All setting are Default ----------- do we need to change anything ? to stop packet drop.
vma_stats -v 3
Rx Offload: 798618 / 21198022 / 0 / 0 [kilobytes/packets/eagains/errors]
Rx byte: cur 0 / max 1956 / dropped 0 / limit 134217728
Rx pkt : cur 0 / max 50 / dropped 0
poll
Polling CPU:0%
Polls [miss/hit]: 0 / 2 (100.00%)
epoll[20]
Polling CPU:0%
Rx fds ready: 483250 / 28236 [os/offload]
polls [miss/hit]: 7503 / 543683 (98.64%)
Timeouts: 7503
epoll[30]
Polling CPU:0%
Rx fds ready: 0 / 534095285 [os/offload]
Polls [miss/hit]: 0 / 504457621 (100.00%)
CQ=[0]
Packets dropped: 0
Packets queue len: 0
Drained max: 0
Buffer pool size: 15
RING_ETH=[0]
Tx Offload: 12087 / 63550 [kilobytes/packets]
Rx Offload: 41794018 / 534187247 [kilobytes/packets]
Retransmissions: 2
BUFFER_POOL(RX)=[0]
Size: 199701
No buffers error: 0
BUFFER_POOL(TX)=[1]
Size: 199745
No buffers error: 0