virtio: add packet buffering on tx 86/28686/12
authorMohsin Kazmi <sykazmi@cisco.com>
Mon, 28 Sep 2020 10:26:33 +0000 (10:26 +0000)
committerBeno�t Ganne <bganne@cisco.com>
Mon, 28 Sep 2020 16:47:30 +0000 (16:47 +0000)
commite347acbc31111504c015531e8ad764a86d489309
tree3a72d961fd97b9ce7985865d89b0c45d27cab2fc
parent7741afaf5c66a5d7ed1d2d76ae36a81ec24fdaaa
virtio: add packet buffering on tx

Type: feature

This patch adds packet buffering on tx for
slow backend which have some jitter/delays
in freeing the vrings.

There are some limitations to the current design:
1) It only works in poll mode.
2) Atleast 1 rx queue of an interface (with buffering
   enabled) should be placed on each worker and main thread.

Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: Ib93c350298b228e80426e58ac77f3bbc93b8be27
13 files changed:
src/vat/api_format.c
src/vnet/CMakeLists.txt
src/vnet/devices/virtio/cli.c
src/vnet/devices/virtio/device.c
src/vnet/devices/virtio/node.c
src/vnet/devices/virtio/pci.c
src/vnet/devices/virtio/pci.h
src/vnet/devices/virtio/virtio.api
src/vnet/devices/virtio/virtio.c
src/vnet/devices/virtio/virtio.h
src/vnet/devices/virtio/virtio_api.c
src/vnet/devices/virtio/virtio_buffering.h [new file with mode: 0644]
src/vpp/api/custom_dump.c