Skip to contentSkip to conversation

Can't configure DPDK poller in busy loop to fix drops

DPDK/core Bug 1667 [email protected] 1 participant 2 messages Mar 4, 2025

lore
Share & tools
lore
#0 lore raw

https://bugs.dpdk.org/show_bug.cgi?id=1667

            Bug ID: 1667
           Summary: Can't configure DPDK poller in busy loop to fix drops
           Product: DPDK
           Version: 24.11
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: core
          Assignee: [email protected]
          Reporter: [email protected]

Target Milestone: ---

I have an application where I configure multiple NICs with different PMDs and then I have a simple poller thread that copies packets out of the descriptors of configured NICs to dedicated rte_rings (one for each port) using rte_eth_rx_burst. Other threads will then get packets out of the rings and process packets on a per-port basis.

This poller is configured to run in realtime mode, with high priority on a dedicated/isolated CPU. It works well and for example on an Intel X710 it can process 10Gbps/1.8Mpps.

However, sometimes (like 3-4 times a day), the poller can't keep up and drops a few packets. I have a sleep in my current configuration so I tried to remove it and have the poller run in busy loop (since it runs in its own cpu and cpu usage is not a problem). But if I do so, it starts dropping packets like crazy. That's counter intuitive to me and I would like to know why that happens.

Signature · 2 lines
You are receiving this mail because:
You are the assignee for the bug.
#1 lore raw

https://bugs.dpdk.org/show_bug.cgi?id=1667

[email protected] changed:

What |Removed |Added
----------------------------------------------------------------------------

             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |INVALID

--- Comment #4 from [email protected] ---
Never mind, the problem seems to be with the scheduling policy (and its priority) that I use for the poller. With non-realtime scheduling policies, I can run the poller in busy loop at 100% and not drop a single packet. The bug is invalid.

Signature · 2 lines
You are receiving this mail because:
You are the assignee for the bug.