From: 배성종 <sjbae1999@gmail.com>
To: users@dpdk.org
Cc: "M: Dariusz Sosnowski" <dsosnowski@nvidia.com>,
"M: Viacheslav Ovsiienko" <viacheslavo@nvidia.com>,
"M: Bing Zhao" <bingz@nvidia.com>,
"M: Ori Kam" <orika@nvidia.com>,
"M: Suanming Mou" <suanmingm@nvidia.com>,
"M: Matan Azrad" <matan@nvidia.com>
Subject: [DPDK 24.11.3-rc1] rte_flow_async_create() stucks in while loop (infinite loop)
Date: Mon, 28 Jul 2025 19:49:55 +0900 [thread overview]
Message-ID: <CAMFKeQ0Q_RNC3mmg-X+wpb3qaOsrrnW=wPiE=c1HsOMy_bv4gg@mail.gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 1835 bytes --]
Hello commit authors (and maintainers),
I'm currently working with rte_flow_async_create() using the postpone flag,
along with rte_flow_push/pull() for batching, in a scenario involving
thousands of flows on a BlueField-2 system.
My goal is to implement hardware steering such that ingress traffic
bypasses the ARM core of the BF2, and egress traffic does the same.
According to the DPDK documentation, rte_flow_push/pull() seems to be
intended for use as a batch operation, wrapping a large for loop that
issues multiple flow operations, and then committing them to hardware in
one go.
However, I’ve observed that when multiple cores simultaneously insert flow
rules, using rte_flow_push/pull() in such a batched way can result in the
rule insertion operations not being properly transmitted to the hardware.
Specifically, the internal function mlx5dr_send_all_dep_wqe() ends up
getting stuck in its while loop.
Interestingly, if I call rte_flow_push/pull() after *each* individual
rte_flow_async_create() operation, even though that usage seems contrary to
the intended batching model, the infinite loop issue is significantly
mitigated. The frequency of getting stuck in mlx5dr_send_all_dep_wqe()
drops drastically—though it still occurs occasionally.
In summary, calling rte_flow_push/pull() after each rte_flow_async_create()
seems to avoid the infinite loop, but I’m unsure if this is an expected
usage pattern. I would like to ask:
-
Is this behavior intentional?
-
Am I misunderstanding the design or usage expectations for
rte_flow_push/pull() in multi-core scenarios?
Thank you for your time and support.
Sincerely,
*Seongjong Bae *M.S. Student T-Networking Lab.
*Email* sjbae1999@gmail.com
*Mobile* (+82)01089640524
*Web.* https://tnet.snu.ac.kr/
[-- Attachment #2: Type: text/html, Size: 4863 bytes --]
next reply other threads:[~2025-08-11 13:11 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-28 10:49 배성종 [this message]
2025-08-11 16:08 ` Ivan Malov
2025-08-12 8:30 ` Bing Zhao
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='CAMFKeQ0Q_RNC3mmg-X+wpb3qaOsrrnW=wPiE=c1HsOMy_bv4gg@mail.gmail.com' \
--to=sjbae1999@gmail.com \
--cc=bingz@nvidia.com \
--cc=dsosnowski@nvidia.com \
--cc=matan@nvidia.com \
--cc=orika@nvidia.com \
--cc=suanmingm@nvidia.com \
--cc=users@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).