Re: [dpdk-users] Does vmxnet3 PMD supports LSC=1 ?

2021-01-14 Thread madhukar mythri
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 ?

2021-01-14 Thread Yong Wang
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 ?

2021-01-14 Thread Thomas Monjalon
+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 ?

2021-01-14 Thread 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.