From: Mohsin Kazmi Date: Tue, 3 Sep 2024 10:24:02 +0000 (+0000) Subject: dpdk: add support to disable interrupt mode X-Git-Tag: v25.02-rc0~29 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F25%2F41425%2F3;p=vpp.git dpdk: add support to disable interrupt mode Type: improvement Change-Id: I4864dc2af808aa76ecbc9ade0e86e1a781e6b704 Signed-off-by: Mohsin Kazmi --- diff --git a/src/plugins/dpdk/device/dpdk.h b/src/plugins/dpdk/device/dpdk.h index 692bbbc09d9..a069fbe3818 100644 --- a/src/plugins/dpdk/device/dpdk.h +++ b/src/plugins/dpdk/device/dpdk.h @@ -241,6 +241,7 @@ typedef struct _ (num_rx_desc) \ _ (num_tx_desc) \ _ (max_lro_pkt_size) \ + _ (disable_rxq_int) \ _ (rss_fn) typedef enum diff --git a/src/plugins/dpdk/device/init.c b/src/plugins/dpdk/device/init.c index 1f4aa83b26e..827f8801ca6 100644 --- a/src/plugins/dpdk/device/init.c +++ b/src/plugins/dpdk/device/init.c @@ -588,6 +588,9 @@ dpdk_lib_init (dpdk_main_t * dm) if (devconf->max_lro_pkt_size) xd->conf.max_lro_pkt_size = devconf->max_lro_pkt_size; + if (devconf->disable_rxq_int) + xd->conf.enable_rxq_int = 0; + dpdk_device_setup (xd); /* rss queues should be configured after dpdk_device_setup() */ @@ -1006,6 +1009,10 @@ dpdk_device_config (dpdk_config_main_t *conf, void *addr, if (error) break; } + else if (unformat (input, "no-rx-interrupts")) + { + devconf->disable_rxq_int = 1; + } else if (unformat (input, "tso on")) { devconf->tso = DPDK_DEVICE_TSO_ON; diff --git a/src/vpp/conf/startup.conf b/src/vpp/conf/startup.conf index 929106a4c8a..a30a15ab2b1 100644 --- a/src/vpp/conf/startup.conf +++ b/src/vpp/conf/startup.conf @@ -164,6 +164,11 @@ cpu { # num-rx-queues 2 # } + ## Set interface only in poll mode + # dev 0000:02:00.1 { + # no-rx-interrupts + # } + ## Change UIO driver used by VPP, Options are: igb_uio, vfio-pci, ## uio_pci_generic or auto (default) # uio-driver vfio-pci