patches for DPDK stable branches
 help / color / mirror / Atom feed
From: David Marchand <david.marchand@redhat.com>
To: Michael Baum <michaelba@nvidia.com>
Cc: dev <dev@dpdk.org>, Matan Azrad <matan@nvidia.com>,
	 Raslan Darawsheh <rasland@nvidia.com>,
	Viacheslav Ovsiienko <viacheslavo@nvidia.com>,
	 dpdk stable <stable@dpdk.org>
Subject: Re: [PATCH] net/mlx5: fix FD configuration for Rx interrupt
Date: Thu, 10 Mar 2022 16:12:01 +0100	[thread overview]
Message-ID: <CAJFAV8zJpGyYXTCf-Ha3XXDTEENfZ2f0o-EW9M+0NWDhEVQCvA@mail.gmail.com> (raw)
In-Reply-To: <20220310131923.1144368-1-michaelba@nvidia.com>

On Thu, Mar 10, 2022 at 2:19 PM Michael Baum <michaelba@nvidia.com> wrote:
>
> The mlx5_rx_intr_vec_enable() function allocates queue vector and fill
> FD list for Rx interrupts.
>
> The driver wrongly configured the FD with a non-blocking flag which
> prevent waiting on this FD.
>
> This patch removes O_NONBLOCK flag adding.

- Maybe I deserve a Reported-by: credit on this issue.
I sent a proposal to make use of Rx interrupts in OVS
https://patchwork.ozlabs.org/project/openvswitch/patch/20220304161132.22065-1-david.marchand@redhat.com/.
And that's when I noticed that mlx5 rx fds were waking OVS too often
and reported it to mlx5 maintainers.


- Testing this patch by starting dpdk-l3fwd-power example (and no
traffic sent at all):

# strace -r -f ./dpdk-dir/v21.11/examples/dpdk-l3fwd-power --lcores
0@3,1@5 -a 0000:82:00.0 --in-memory -- -p 0x1 -P --config '(0,0,1)'
...
[pid 534983]      0.000348 epoll_wait(26, [], 1, 10) = 0
[pid 534983]      0.010082 read(24,

For some reason, there is an event available for fd 18 right away
(which is the issue in the first place).
When reading this fd, read() blocks until an actual packet is received.

Then, I send exactly one packet:
[pid 534983]      0.010082 read(24, "@\217:\370\21\0\0\0", 136) = 8
[pid 534983]      9.228478 epoll_wait(26, [], 1, 10) = 0
[pid 534983]      0.010082 read(24,

That makes mlx5 rx interrupts unusable for an application that does
more than just polling one rxq.


-- 
David Marchand


  reply	other threads:[~2022-03-10 15:12 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-10 13:19 Michael Baum
2022-03-10 15:12 ` David Marchand [this message]
2022-03-10 16:16   ` Thomas Monjalon
2022-03-10 17:04     ` Michael Baum
2022-03-14  9:31       ` David Marchand
2022-03-14 10:49         ` Matan Azrad

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=CAJFAV8zJpGyYXTCf-Ha3XXDTEENfZ2f0o-EW9M+0NWDhEVQCvA@mail.gmail.com \
    --to=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=matan@nvidia.com \
    --cc=michaelba@nvidia.com \
    --cc=rasland@nvidia.com \
    --cc=stable@dpdk.org \
    --cc=viacheslavo@nvidia.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).