<div dir="ltr">Hi Harry Haaren (Yes :) )<div><br></div><div>I have given more details below, please check this. </div><div><br><b>Device Configuration:</b><br>Event Dev Queue : 1<br>Number of ports : 3<br><br>Queue 0 depth - 32k<br>Port 0, 1 amd 2 : Enqueue depth 4096, Dequeue depth 128<br><br><b>Cores: </b><br>Rx core - 1<br>Workers cores - 2<br><br><b>Port 2:</b><br>Used in Rx core - Used to post packets from Rx core to worker cores using event dev queue .<br>So port 2 used to post packets only.  <br>API used: rte_event_enqueue_burst()<br><br><b>Port 0 and 1</b> linked with Event Dev Q 0 to dequeue the packets. These ports used to dequeue the packets only. <br>Port 0 used in Worker core 1 - Only to receive the packets from Rx core using event dev queue<br>Port 1 used in worker core 2 - Only to receive the packets from Rx core using event dev queue<br>API used: rte_event_dequeue_burst()<br><br><b>Expected behaviour</b>:<br><br>Port 2 enqueue packets to event dev Q in Rx core <br>Port 0 and 1 dequeue packets from event dev Q in two workers <br><br>Event dev scheduler of queue 0, will schedule received packets in port 2 to port 0 and 1. <br><br><br><b>Problem Description:<br></b><br>Port 0 - only received 4096 packets through event dev Q, after that no packets available for this. <br>API used: rte_event_dequeue_burst()<br><br>Port 2 - Successfully enqueued 32k packets through event dev Q, after that enqueue failure observed. <br>API used: rte_event_enqueue_burst()<br><br></div><div>Looks like, event dev queue stalled at this point. <br><br>Also why port 0 stats show inflight as 4096?<br><br><b>Port 0 Stats:<br></b>  rx   0  drop 0  tx   4096   inflight 4096<br><br><b>All Stats:</b><br>Dev=0 Port=1EventDev todo-fix-name: ports 3, qids 1<br>rx   32768<br>drop 0<br>tx   4096<br>sched calls: 628945658<br>sched cq/qid call: 628964843<br>sched no IQ enq: 628926401<br>sched no CQ enq: 628942982<br>inflight 32768, credits: 0<br><br><br>Port 0<br>  rx   0  drop 0  tx   4096   inflight 4096<br>  Max New: 32768  Avg cycles PP: 0    Credits: 0<br>  Receive burst distribution:<br>      0:100% 1-4:0.00% 5-8:0.00% 9-12:0.00%<br>  rx ring used:    0 free: 4096<br>  cq ring used:    0 free:  128<br>Port 1<br>  rx   0  drop 0  tx   0  inflight 0<br>  Max New: 32768  Avg cycles PP: 0    Credits: 0<br>  Receive burst distribution:<br>      0:100%<br>  rx ring used:    0 free: 4096<br>  cq ring used:    0 free:  128<br>Port 2<br>  rx   32768  drop 0  tx   0  inflight 0<br>  Max New: 32768  Avg cycles PP: 0    Credits: 0<br>  Receive burst distribution:<br>      0:-nan%<br>  rx ring used:    0 free: 4096<br>  cq ring used:    0 free:  128<br><br>Queue 0 (Atomic)<br>  rx   32768  drop 0  tx   4096<br>  Per Port Stats:<br>    Port 0: Pkts: 4096    Flows: 1<br>    Port 1: Pkts: 0   Flows: 0<br>    Port 2: Pkts: 0   Flows: 0<br>    Port 3: Pkts: 0   Flows: 0<br>  iq 0: Used 28672<br></div><div><br></div><div>Regards,</div><div>Hariharan</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jul 19, 2023 at 6:30 PM Van Haaren, Harry <<a href="mailto:harry.van.haaren@intel.com">harry.van.haaren@intel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> From: Hari Haran <<a href="mailto:info2hariharan@gmail.com" target="_blank">info2hariharan@gmail.com</a>> <br>
> Sent: Wednesday, July 19, 2023 1:39 PM<br>
> To: <a href="mailto:users@dpdk.org" target="_blank">users@dpdk.org</a><br>
> Subject: Inflight value shown invalid in Event Dev Queue<br>
><br>
> Hi All,<br>
<br>
Hi Hari Haran,<br>
<br>
> Once packets dequeued from port 0, still inflight stats shown same as dequeued count. <br>
> After that, enqueue failure happens for port 2 from another core due to it reaches Max Enqueue depth .<br>
<br>
This describes what happens -> it would be helpful to know what you are expecting to happen.<br>
Would you describe what each of port 0,1,2 are actually used for, and how events are expected<br>
to flow from RX to a Port through a Queue, to another Port, until TX?<br>
<br>
Describing the expectation and then comparing that to your "problem description" in this email often<br>
leads to the root cause & solution.<br>
<br>
Keep in mind that the event/sw implementation has capacity limitations. It seems to be too  high in your configuration<br>
(inflight = 32768 is a indicator of an issue, as SW_INFLIGHT_EVENTS_TOTAL is 4096 in sw_evdev.h).<br>
<br>
> Port 0 Stats:<br>
> <br>
> Below case, port 0 dequeued 4096 packets and still inflight showed the same value.<br>
<br>
How are the events being re-enqueued? <br>
<br>
> Port 0<br>
>   rx   0  drop 0  tx   4096   inflight 4096  <br>
> <br>
> Full Stats:<br>
> <br>
> Dev=0 Port=1EventDev todo-fix-name: ports 3, qids 1<br>
> rx   32768<br>
> drop 0<br>
> tx   4096<br>
> sched calls: 628945658<br>
> sched cq/qid call: 628964843<br>
> sched no IQ enq: 628926401<br>
> sched no CQ enq: 628942982<br>
> inflight 32768, credits: 0<br>
> <br>
> Port 0<br>
>   rx   0  drop 0  tx   4096   inflight 4096<br>
>   Max New: 32768  Avg cycles PP: 0    Credits: 0<br>
>   Receive burst distribution:<br>
>       0:100% 1-4:0.00% 5-8:0.00% 9-12:0.00%<br>
>   rx ring used:    0 free: 4096<br>
>   cq ring used:    0 free:  128<br>
> Port 1<br>
>   rx   0  drop 0  tx   0  inflight 0<br>
>   Max New: 32768  Avg cycles PP: 0    Credits: 0<br>
>   Receive burst distribution:<br>
>       0:100%<br>
>   rx ring used:    0 free: 4096<br>
>   cq ring used:    0 free:  128<br>
> Port 2<br>
>   rx   32768  drop 0  tx   0  inflight 0<br>
>   Max New: 32768  Avg cycles PP: 0    Credits: 0<br>
>   Receive burst distribution:<br>
>       0:-nan%<br>
>   rx ring used:    0 free: 4096<br>
>   cq ring used:    0 free:  128<br>
> <br>
> Queue 0 (Atomic)<br>
>   rx   32768  drop 0  tx   4096<br>
>   Per Port Stats:<br>
>     Port 0: Pkts: 4096    Flows: 1<br>
>     Port 1: Pkts: 0   Flows: 0<br>
>     Port 2: Pkts: 0   Flows: 0<br>
>     Port 3: Pkts: 0   Flows: 0<br>
>   iq 0: Used 28672<br>
> This issue will be resolved once system level restart is done.<br>
> Kindly give insight on this issue, if you found any clues. <br>
> TIA.<br>
> <br>
> Regards<br>
> Hariharan<br>
<br>
Regards, -Harry van Haaren (PS: our names are surprisingly similar! : )<br>
</blockquote></div>