DPDK usage discussions
 help / color / mirror / Atom feed
From: madhukar mythri <madhukar.mythri@gmail.com>
To: Yong Wang <yongwang@vmware.com>
Cc: Thomas Monjalon <thomas@monjalon.net>, "users@dpdk.org" <users@dpdk.org>
Subject: Re: [dpdk-users] Does vmxnet3 PMD supports LSC=1 ?
Date: Fri, 15 Jan 2021 11:39:24 +0530	[thread overview]
Message-ID: <CAAUNki2HZ--tmB_QdqpmPsGzvVPW2SpWVvJdkM=VMqipZt7ssg@mail.gmail.com> (raw)
In-Reply-To: <73D78AF1-8DEB-46A9-8A5A-E32AF48B2F30@vmware.com>

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/0000\: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-
<TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 32 bytes
        Interrupt: pin A routed to IRQ 18
        Region 0: Memory at fd4fc000 (32-bit, non-prefetchable) [size=4K]
        Region 1: Memory at fd4fd000 (32-bit, non-prefetchable) [size=4K]
        Region 2: Memory at fd4fe000 (32-bit, non-prefetchable) [size=8K]
        Region 3: I/O ports at 4000 [size=16]
        [virtual] Expansion ROM at fd400000 [disabled] [size=64K]
        Capabilities: [40] Power Management version 3
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [48] Express (v2) Endpoint, MSI 00
                DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s
<64ns, L1 <1us
                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
SlotPowerLimit 0.000W
                DevCtl: Report errors: Correctable- Non-Fatal- Fatal-
Unsupported-
                        RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                        MaxPayload 128 bytes, MaxReadReq 128 bytes
                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr-
TransPend-
                LnkCap: Port #0, Speed 5GT/s, Width x32, ASPM L0s, Exit
Latency L0s <64ns, L1 <1us
                        ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk-
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 5GT/s, Width x32, TrErr- Train- SlotClk-
DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Not Supported, TimeoutDis-,
LTR-, OBFF Not Supported
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-,
LTR-, OBFF Disabled
                LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance-
SpeedDis-
                         Transmit Margin: Normal Operating Range,
EnterModifiedCompliance- ComplianceSOS-
                         Compliance De-emphasis: -6dB
                LnkSta2: Current De-emphasis Level: -6dB,
EqualizationComplete-, EqualizationPhase1-
                         EqualizationPhase2-, EqualizationPhase3-,
LinkEqualizationRequest-
        Capabilities: [84] MSI: Enable- Count=1/1 Maskable- 64bit+
                Address: 0000000000000000  Data: 0000
        Capabilities: [9c] MSI-X: Enable+ Count=25 Masked-
                Vector table: BAR=2 offset=00000000
                PBA: BAR=2 offset=00001000
        Capabilities: [100 v1] Device Serial Number ff-29-0c-00-d6-72-89-fe
        Kernel driver in use: igb_uio

~ #
==============

So, in vmxnet3 LSC=0(poll-mode) is recommended ?

We are using ESXi-6.7 Hyper-visor.

Thanks,
Madhuker.


On Fri, Jan 15, 2021 at 12:28 AM Yong Wang <yongwang@vmware.com> 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 <thomas@monjalon.net>
> Date: Thursday, January 14, 2021 at 10:50 AM
> To: madhukar mythri <madhukar.mythri@gmail.com>
> Cc: "users@dpdk.org" <users@dpdk.org>, Yong Wang <yongwang@vmware.com>
> 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.
>
>
>
>

      reply	other threads:[~2021-01-15  6:09 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-14 17:30 madhukar mythri
2021-01-14 18:50 ` Thomas Monjalon
2021-01-14 18:58   ` Yong Wang
2021-01-15  6:09     ` madhukar mythri [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAAUNki2HZ--tmB_QdqpmPsGzvVPW2SpWVvJdkM=VMqipZt7ssg@mail.gmail.com' \
    --to=madhukar.mythri@gmail.com \
    --cc=thomas@monjalon.net \
    --cc=users@dpdk.org \
    --cc=yongwang@vmware.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).