From: Stephen Hemminger <stephen@networkplumber.org>
To: Rajasekhar Pulluru <pullururajasekhar@gmail.com>
Cc: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>,
"dev@dpdk.org" <dev@dpdk.org>, nd <nd@arm.com>
Subject: Re: ixgbe rxq interrupt not working
Date: Wed, 8 Mar 2023 09:44:04 -0800 [thread overview]
Message-ID: <20230308094404.33ed0adf@hermes.local> (raw)
In-Reply-To: <CAGA5_H7JNVTmCB15xuCriOwg0hwp7vEgevk5+i4R6AKHNy1Gtg@mail.gmail.com>
On Wed, 8 Mar 2023 22:54:12 +0530
Rajasekhar Pulluru <pullururajasekhar@gmail.com> wrote:
> No Honnappa.
>
> Thanks & Regards,
> Rajasekhar
>
> On Wed, Mar 8, 2023 at 5:49 AM Honnappa Nagarahalli <
> Honnappa.Nagarahalli@arm.com> wrote:
>
> >
> >
> > From: Rajasekhar Pulluru <pullururajasekhar@gmail.com>
> > Sent: Tuesday, March 7, 2023 12:52 PM
> > To: dev@dpdk.org
> > Subject: ixgbe rxq interrupt not working
> >
> > Hi Team,
> >
> > Bringing-up dpdk-22.07 on an intel machine with 8 ports, 4 of them driven
> > by igb and the rest of the 4 ports driven by ixgbe.
> > [Honnappa] Do you have packets crossing between the 2 drivers?
> >
> >
> > I am following the below sequence to initialize these ports:
> >
> > dev_conf.intr_conf.lsc = 1; //Enable link state change interrupt
> > dev_conf.intr_conf.rxq = 1; //Enable RX Queue Interrupt
> > dev_conf.rxmode.mq_mode = RTE_ETH_MQ_RX_NONE;
> > dev_conf.rxmode.offloads = 0;
> > dev_conf.txmode.mq_mode = RTE_ETH_MQ_TX_NONE;
> > dev_conf.txmode.offloads = 0;
> >
> > rte_eth_dev_configure
> > rte_eth_rx_queue_setup
> > rte_eth_tx_queue_setup
> > rte_eth_dev_start
> > data = port_id << CHAR_BIT | queue_id;
> > rte_eth_dev_rx_intr_ctl_q(port_id, queue_id, RTE_EPOLL_PER_THREAD,
> > RTE_INTR_EVENT_ADD, (void *)((uintptr_t)data));
> > rte_eth_dev_rx_intr_enable(port_id, queue_id);
> >
> > And then main loop repeats the below:
> >
> > rte_epoll_wait(RTE_EPOLL_PER_THREAD, event, 1, timeout /* 200micro-sec
> > */); /* ignore return value */
> > rte_eth_dev_rx_intr_disable(port_id, queue_id);
> > rte_eth_rx_burst(port_id, queue_id, pkts, num_pkts);
> > rte_eth_dev_rx_intr_enable(port_id, queue_id);
> >
> > The code is same for all the ports, igb ports are able to come-up and rx
> > packets, where-as the ixgbe ports are not able to rx packets at all.
> > cat /proc/interrupts dumps vfio-msix counters for ixgbe as 0, where-as
> > it's non-zero for igb.
> > If I don't use/enable rxq interrupt for ixgbe (and remove epoll wait,
> > interrupt enable/disable from while loop) and simply poll for
> > rte_eth_rx_burst in a loop, ixgbe ports are able to rx packets.
> >
> > What could be wrong here? Appreciate any help.
> >
> > I would also like to know if there's an asynchronous rxq interrupt
> > notification to the application instead of rte_epoll_wait (and sleep).
> >
> > Thanks & Regards,
> > Rajasekhar
> >
Does the device work as expected when not used with DPDK?
I.e does the kernel driver handle it correctly.
Also check the kernel dmesg log, for any relevant info.
There maybe VFIO or other overlap involved.
next prev parent reply other threads:[~2023-03-08 17:44 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-07 18:52 Rajasekhar Pulluru
2023-03-07 21:11 ` Stephen Hemminger
2023-03-08 17:23 ` Rajasekhar Pulluru
2023-03-08 0:19 ` Honnappa Nagarahalli
2023-03-08 17:24 ` Rajasekhar Pulluru
2023-03-08 17:44 ` Stephen Hemminger [this message]
2023-03-09 7:43 ` Rajasekhar Pulluru
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=20230308094404.33ed0adf@hermes.local \
--to=stephen@networkplumber.org \
--cc=Honnappa.Nagarahalli@arm.com \
--cc=dev@dpdk.org \
--cc=nd@arm.com \
--cc=pullururajasekhar@gmail.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).