mp_socket is not well handled when secondary process is exited
https://bugs.dpdk.org/show_bug.cgi?id=179
Bug ID: 179
Summary: mp_socket is not well handled when secondary process
is exited
Product: DPDK
Version: 18.11
Hardware: x86
OS: Linux
Status: CONFIRMED
Severity: critical
Priority: Normal
Component: other
Assignee: [email protected]
Reporter: [email protected]Target Milestone: ---
I am running dpdk-pdump and found the mp socket (see below output) it created is not deleted when dpdk-pdump is exited. Now it can work because when dpdk-dump call rte_eal_init(), rte_bus_scan() will be called and the file will be removed. The path rte_bus_scan() -> bus->scan() -> vdev_scan() -> rte_mp_request_sync() -> mp_request_sync() -> send_msg() -> sendmsg() will eventually delete the mp_socket_* which is retained by last run.
--------
root@n14-045-219:~# ls /var/run/dpdk/rte/mp_socket_* /var/run/dpdk/rte/mp_socket_21695_4467ff77b19ec2 --------
I do think this is not expected. When a secondary process is exited, the mp socket file should be cleared in some way.
You can have the following way to reproduce it.
1. You need to change dpdk-pdump to call rte_eal_hotplug_remove("vdev", vdev_name) when dpdk-pdump is exited. Otherwise dpdk-pdump can only run once as vdev is not freed.
2. Run dpdk-pdump twice with testpmd, you will see the second run will fail because of it send request to the mp_socket which is retained by last run.
testpmd command: testpmd -l 0-1 -n 4 --master-lcore 0 -- -a
pdump comman: dpdk-pdump -- --pdump 'port=0,queue=*,rx-dev=/tmp/rx.pcap'Please take a look at this and fix it.
Thanks,
Daniel
Signature · 2 lines
You are receiving this mail because: You are the assignee for the bug.