All of lore.kernel.org
 help / color / mirror / Atom feed
* [dpdk-dev] [Bug 804] distributor: exiting workers can hang distributor core
@ 2021-09-02 18:03 bugzilla
  0 siblings, 0 replies; only message in thread
From: bugzilla @ 2021-09-02 18:03 UTC (permalink / raw)
  To: dev

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

            Bug ID: 804
           Summary: distributor: exiting workers can hang distributor core
           Product: DPDK
           Version: 21.08
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: examples
          Assignee: dev@dpdk.org
          Reporter: brian90013@gmail.com
  Target Milestone: ---

Created attachment 171
  --> https://bugs.dpdk.org/attachment.cgi?id=171&action=edit
patch to avoid hanging

Hello,

I have been testing the distributor example using one interface and five cores
- ./build/distributor_app -l 10-14 -- -p 1. This leaves me one worker thread. I
noticed the application often hangs after I supply SIGINT and I have to
manually kill the process.

I added some additional debugging and discovered the distributor core is not
returning from rte_distributor_flush(). Looking inside that function, I see the
loop waiting for total_outstanding() to return 0. I believe that requires all
workers to have returned all in-flight packets?

Moving to the worker core, it calls rte_distributor_get_pkt(), does its
processing, then loops to the start of the while(!quit_signal_work) block. When
exiting, this is true, so it immediately exits the loop - without returning the
last batch of packets. I believe this is what is causing the distributor core
to fail to exit as it continues to loop waiting for workers to return their
buffers.

As a test, I added a call to rte_distributor_return_pkt(d, id, buf, num)
outside the worker while() loop but before the thread exits. I've run many
tests and have not seen the process hang once.

-- 
You are receiving this mail because:
You are the assignee for the bug.

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

only message in thread, other threads:[~2021-09-02 18:03 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-02 18:03 [dpdk-dev] [Bug 804] distributor: exiting workers can hang distributor core bugzilla

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.