Re: [dpdk-users] Does vmxnet3 PMD supports LSC=1 ?
Hi Yong, Thanks for quick response. As per "vmxnet3" PCI bus device information, we got MSI-X based interrupt-line as mentioned below in the "sysfs": we are able to get link-changes interrupts, but, on top it we get all other interrupts also, which is taking more CPU-time when traffic load. ~ # cat /sys/bus/pci/devices/\:03\:00.0/msi_irqs/58 msix ~ # ~ # lspci -s 03:00.0 -vv 03:00.0 Class 0200: Device 15ad:07b0 (rev 01) Subsystem: Device 15ad:07b0 Physical Slot: 160 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- wrote: > Vmxnet3 driver supports lsc and your observation is a known behavior with > vmxnet3 running with INTx/MSI interrupt mode. Enabling or disabling lsc > intr in this mode will enable/disable RX interrupts as well. This is a > device behavior and there is no known way to mask just lsc or rx interrupts > as the mask is per vector. To work around this, either disable interrupt > or move to msi-x. Currently the upstream dpdk vmxnet3 driver does not > support msix. We have plans to upstream vmxnet3 msix support in the future. > > Yong > > -Original Message- > From: Thomas Monjalon > Date: Thursday, January 14, 2021 at 10:50 AM > To: madhukar mythri > Cc: "users@dpdk.org" , Yong Wang > Subject: Re: [dpdk-users] Does vmxnet3 PMD supports LSC=1 ? > > +Cc Yong Wang, maintainer of this PMD. > > 14/01/2021 18:30, madhukar mythri: > > Hi, > > > > Does vmxnet3 PMD support LSC=1(i.e with interrupt mode) for link > changes ? > > > > When i enable LSC=1 the functionality works fine, but, when pumping > traffic > > i'm seeing increasing in CPU load on some cores which is running > > "eal-intr-thread" epoll_wait() function for more CPU-time. > > > > Actually, interrupt should come only when Link changes, but, we are > seeing > > interrupt for each incoming Rx-packet and also a lot of spurious > interrupts. > > = > > ~ # cat /proc/interrupts |grep igb > > 58:1254293 0 0 0 PCI-MSI > 1572864-edge > > igb_uio > > 59:1278105 0 0 0 PCI-MSI > 5767168-edge > > igb_uio > > ~ # cat /proc/irq/58/spurious > > count 98035 > > unhandled 0 > > last_unhandled 0 ms > > ~ # > > == > > > > Does anyone tried LSC=1 in vmxnet3 PMD based apps and faced similar > issues > > ? If so, please let me know. > > > > Tried with DPDK-18.11, DPDK-19.11 and DPDK-20.05. > > > > Thanks, > > Madhukar. > > > >
Re: [dpdk-users] Does vmxnet3 PMD supports LSC=1 ?
Vmxnet3 driver supports lsc and your observation is a known behavior with vmxnet3 running with INTx/MSI interrupt mode. Enabling or disabling lsc intr in this mode will enable/disable RX interrupts as well. This is a device behavior and there is no known way to mask just lsc or rx interrupts as the mask is per vector. To work around this, either disable interrupt or move to msi-x. Currently the upstream dpdk vmxnet3 driver does not support msix. We have plans to upstream vmxnet3 msix support in the future. Yong -Original Message- From: Thomas Monjalon Date: Thursday, January 14, 2021 at 10:50 AM To: madhukar mythri Cc: "users@dpdk.org" , Yong Wang Subject: Re: [dpdk-users] Does vmxnet3 PMD supports LSC=1 ? +Cc Yong Wang, maintainer of this PMD. 14/01/2021 18:30, madhukar mythri: > Hi, > > Does vmxnet3 PMD support LSC=1(i.e with interrupt mode) for link changes ? > > When i enable LSC=1 the functionality works fine, but, when pumping traffic > i'm seeing increasing in CPU load on some cores which is running > "eal-intr-thread" epoll_wait() function for more CPU-time. > > Actually, interrupt should come only when Link changes, but, we are seeing > interrupt for each incoming Rx-packet and also a lot of spurious interrupts. > = > ~ # cat /proc/interrupts |grep igb > 58:1254293 0 0 0 PCI-MSI 1572864-edge > igb_uio > 59:1278105 0 0 0 PCI-MSI 5767168-edge > igb_uio > ~ # cat /proc/irq/58/spurious > count 98035 > unhandled 0 > last_unhandled 0 ms > ~ # > == > > Does anyone tried LSC=1 in vmxnet3 PMD based apps and faced similar issues > ? If so, please let me know. > > Tried with DPDK-18.11, DPDK-19.11 and DPDK-20.05. > > Thanks, > Madhukar.
Re: [dpdk-users] Does vmxnet3 PMD supports LSC=1 ?
+Cc Yong Wang, maintainer of this PMD. 14/01/2021 18:30, madhukar mythri: > Hi, > > Does vmxnet3 PMD support LSC=1(i.e with interrupt mode) for link changes ? > > When i enable LSC=1 the functionality works fine, but, when pumping traffic > i'm seeing increasing in CPU load on some cores which is running > "eal-intr-thread" epoll_wait() function for more CPU-time. > > Actually, interrupt should come only when Link changes, but, we are seeing > interrupt for each incoming Rx-packet and also a lot of spurious interrupts. > = > ~ # cat /proc/interrupts |grep igb > 58:1254293 0 0 0 PCI-MSI 1572864-edge > igb_uio > 59:1278105 0 0 0 PCI-MSI 5767168-edge > igb_uio > ~ # cat /proc/irq/58/spurious > count 98035 > unhandled 0 > last_unhandled 0 ms > ~ # > == > > Does anyone tried LSC=1 in vmxnet3 PMD based apps and faced similar issues > ? If so, please let me know. > > Tried with DPDK-18.11, DPDK-19.11 and DPDK-20.05. > > Thanks, > Madhukar.
[dpdk-users] Does vmxnet3 PMD supports LSC=1 ?
Hi, Does vmxnet3 PMD support LSC=1(i.e with interrupt mode) for link changes ? When i enable LSC=1 the functionality works fine, but, when pumping traffic i'm seeing increasing in CPU load on some cores which is running "eal-intr-thread" epoll_wait() function for more CPU-time. Actually, interrupt should come only when Link changes, but, we are seeing interrupt for each incoming Rx-packet and also a lot of spurious interrupts. = ~ # cat /proc/interrupts |grep igb 58:1254293 0 0 0 PCI-MSI 1572864-edge igb_uio 59:1278105 0 0 0 PCI-MSI 5767168-edge igb_uio ~ # cat /proc/irq/58/spurious count 98035 unhandled 0 last_unhandled 0 ms ~ # == Does anyone tried LSC=1 in vmxnet3 PMD based apps and faced similar issues ? If so, please let me know. Tried with DPDK-18.11, DPDK-19.11 and DPDK-20.05. Thanks, Madhukar.