All of lore.kernel.org
 help / color / mirror / Atom feed
From: bugzilla@dpdk.org
To: dev@dpdk.org
Subject: [dpdk-dev] [Bug 284] Secondary not able to Rx/TX after primary dies in symmetric multiprocess
Date: Thu, 23 May 2019 14:23:18 +0000	[thread overview]
Message-ID: <bug-284-3@http.bugs.dpdk.org/> (raw)

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

            Bug ID: 284
           Summary: Secondary not able to Rx/TX after primary dies in
                    symmetric multiprocess
           Product: DPDK
           Version: 18.11
          Hardware: x86
                OS: Linux
            Status: CONFIRMED
          Severity: major
          Priority: Normal
         Component: other
          Assignee: dev@dpdk.org
          Reporter: oleksandr.gromovskyi@harmonicinc.com
  Target Milestone: ---

In our project we plan to use symmetric multiprocessing to have redundancy on
application level. So if primary crashes secondary still can process packets
from the eth ports.
But currently i see that when primary is alive secondary can receive the data
from port and everything works as expected, but after primary dies secondary
also stop receiving the data.
I tested same in symmetric_mp example and problem is same.
According to documentation:
https://doc.dpdk.org/guides-18.11/sample_app_ug/multi_process.html
    ...
        it is not necessary to restart all processes if the primary instance
dies. Instead, that process can be restarted as a secondary, 
    ...

I'm executing primary and secondary with next two commands

./build/symmetric_mp -c 1 -n 4 --proc-type=auto -- -p 3 --num-procs=2
--proc-id=0
./build/symmetric_mp -c 2 -n 4 --proc-type=auto -- -p 3 --num-procs=2
--proc-id=1

I modified the code to print statistics each second and see rx/tx increasing
but only till primary is alive.

EAL: Detected 4 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Probing VFIO support...
EAL: PCI device 0000:01:00.0 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 8086:10fb net_ixgbe
EAL: PCI device 0000:01:00.1 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 8086:10fb net_ixgbe
# Initialising port 0... # Initialising port 1...
Checking link status...done
Port0 Link Up. Speed 10000 Mbps - full-duplex
Port1 Link Up. Speed 10000 Mbps - full-duplex
APP: Finished Process Init.
Lcore 0 using ports 0 1
lcore 0 using queue 0 of each port
Port 0: RX - 0, TX - 0, Drop - 0
Port 1: RX - 0, TX - 0, Drop - 0

Port 0: RX - 0, TX - 1, Drop - 0
Port 1: RX - 1, TX - 0, Drop - 0

Port 0: RX - 0, TX - 2, Drop - 0
Port 1: RX - 2, TX - 0, Drop - 0

Port 0: RX - 0, TX - 3, Drop - 0
Port 1: RX - 3, TX - 0, Drop - 0

Port 0: RX - 0, TX - 4, Drop - 0
Port 1: RX - 4, TX - 0, Drop - 0

Restarting of primary as secondary

./build/symmetric_mp -c 1 -n 4 --proc-type=secondary -- -p 3 --num-procs=2
--proc-id=0

does not help. Only stop of all applications and starting of primary again
makes rx/tx working again.

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

                 reply	other threads:[~2019-05-23 14:23 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=bug-284-3@http.bugs.dpdk.org/ \
    --to=bugzilla@dpdk.org \
    --cc=dev@dpdk.org \
    /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 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.