From a5203b53d4fa227560333b890d3e79fc220d1bfd Mon Sep 17 00:00:00 2001 From: Mohsin Kazmi Date: Mon, 12 Oct 2020 13:01:24 +0200 Subject: virtio: run process to send interrupts to input nodes Type: improvement virtio interfaces support packet coalescing and buffering which depends on timer expiry to flush the stored packets periodically. virtio input node checks timer expiry and schedules tx queue accordingly. In poll mode, timer expiry is handled naturally, as input node runs periodically. In interrupt mode, virtio input node depends on the interrupts send from backend. Stored packets could starve, if there would not be interrupts to input node. This patch implements a process node which periodically sends interrupt to virtio input node given coalescing or buffering feature is enabled on an interface. Change-Id: Ic38f749f74b001073d4d0579dca149d0a4cea039 Signed-off-by: Mohsin Kazmi --- src/vnet/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) (limited to 'src/vnet/CMakeLists.txt') diff --git a/src/vnet/CMakeLists.txt b/src/vnet/CMakeLists.txt index f8b034f5dfa..021e8604077 100644 --- a/src/vnet/CMakeLists.txt +++ b/src/vnet/CMakeLists.txt @@ -987,6 +987,7 @@ list(APPEND VNET_SOURCES devices/virtio/virtio_api.c devices/virtio/virtio_pci_legacy.c devices/virtio/virtio_pci_modern.c + devices/virtio/virtio_process.c devices/virtio/virtio_types_api.c ) -- cgit 1.2.3-korg