DPDK usage discussions
 help / color / mirror / Atom feed
* Blocked rte_sched queue
@ 2025-05-07 10:24 Ernesto Ruffini
  0 siblings, 0 replies; only message in thread
From: Ernesto Ruffini @ 2025-05-07 10:24 UTC (permalink / raw)
  To: users

[-- Attachment #1: Type: text/plain, Size: 1040 bytes --]

Hi,

We use DPDK 24.11.1 rte_sched library for shaping traffic, and it happens
that some queues, mainly low-bandwidth TCs, from time to time stop sending
traffic.

After investigating, we found that this happens when a large packet is
enqueued: if this is accepted and enqueued in the sched port, it might be
too big to be sent out, completely blocking the queue, as there is no
mechanism to get rid of that packet, even if it will never be dequeued.

 

In particular, in function grinder_credits_check_with_tc_ov(),
pipe_tc_credits are lower than pkt_len, making enough_credit always false,
so the packet is never dequeued.

 

This can be seen also using the qos_sched example, setting pipe tc rates to
6250 (50Kbps) on a 100Gbps nic: pipe_tc_credits will be 250, and any packet
larger that that will completely block the queue, and no other packets, even
small, will ever pass.

 

We could not find any solution other than preventing long packets to be
enqueued.

Is there any other way to prevent queues from blocking?

 

Thanks

 


[-- Attachment #2: Type: text/html, Size: 3359 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2025-05-15  6:39 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-05-07 10:24 Blocked rte_sched queue Ernesto Ruffini

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).