[dpdk-test-report]|SUCCESS | dpdk-next-net-mrvl|9acb447c72| Intel-Testing
sys_stv at intel.com
sys_stv at intel.com
Tue Jun 13 08:41:28 CEST 2023
Test-Label: intel-Testing
Test-Status: SUCCESS
_Testing PASS
DPDK git repo: dpdk-next-net-mrvl
commit 9acb447c72a27228b520ff833cafa5aa8f43a431
Author: Harman Kalra <hkalra at marvell.com>
Date: Mon Jun 5 14:14:23 2023 +0530
common/cnxk: fix mailbox timeout due to deadlock
PF receives all the VFs mailbox/FLR messages which it forwards to AF.
This is all handled by interrupt thread. Due to mailbox locking in place
a deadlock situation may arise which may lead to mailbox timeout.
Say at T1 - PF sends its own mailbox to AF and wait for response
(PF is holding mailbox lock)
T2 - VF mailbox/FLR interrupt comes and interrupt thread process it.
Mailbox handling requires mailbox lock to send messages to AF, but lock
is hold by PF. Interrupt thread spins at this point only and misses
to ack the AFs response of PF messages which was sent at T1. Hence
message sent at T1 gets timed out.
As a solution to this scenario, creating a dedicated thread which
does the VFs mailbox and FLR processing. When no message this thread
waits on conditional variable and get waken up by interrupt thread
on any mailbox/FLR interrupt reception.
Fixes: 585bb3e538f9 ("common/cnxk: add VF support to base device class")
Cc: stable at dpdk.org
Signed-off-by: Harman Kalra <hkalra at marvell.com>
Testing Summary : 15 Case Done, 15 Successful, 0 Failures
Testbed #1: 6 Case Done, 6 Successful, 0 Failures
* Test result details:
+---------+---------------------+-------+
| suite | case | status|
+---------+---------------------+-------+
| pf_smoke| test_pf_jumbo_frames| passed|
| pf_smoke| test_pf_rss | passed|
| pf_smoke| test_pf_tx_rx_queue | passed|
| vf_smoke| test_vf_jumbo_frames| passed|
| vf_smoke| test_vf_rss | passed|
| vf_smoke| test_vf_tx_rx_queue | passed|
+---------+---------------------+-------+
* Environment:
OS : Ubuntu 22.04.2 LTS
Kernel : 5.15.0-60-generic
GCC : 11.3.0-1ubuntu1~22.04
NIC : Ethernet Controller E810-C for SFP
Target : x86_64-native-linuxapp-gcc
Testbed #2: 9 Case Done, 9 Successful, 0 Failures
* Test result details:
+-------------+---------------------------+-------+
| suite | case | status|
+-------------+---------------------------+-------+
| asan_smoke | test_rxtx_with_ASan_enable| passed|
| pf_smoke | test_pf_jumbo_frames | passed|
| pf_smoke | test_pf_rss | passed|
| pf_smoke | test_pf_tx_rx_queue | passed|
| vf_smoke | test_vf_rss | passed|
| vf_smoke | test_vf_tx_rx_queue | passed|
| vf_smoke | test_vf_jumbo_frames | n/a |
| virtio_smoke| test_virtio_loopback | passed|
| virtio_smoke| test_virtio_pvp | passed|
+-------------+---------------------------+-------+
* Environment:
OS : Ubuntu 22.04.2 LTS
Kernel : 5.15.0-60-generic
GCC : 11.3.0-1ubuntu1~22.04
NIC : Ethernet Controller XL710 for 40GbE QSFP+
Target : x86_64-native-linuxapp-gcc
TestPlan:
pf_smoke: http://git.dpdk.org/tools/dts/tree/test_plans/pf_smoke_test_plan.rst
vf_smoke: http://git.dpdk.org/tools/dts/tree/test_plans/vf_smoke_test_plan.rst
asan_smoke: http://git.dpdk.org/tools/dts/tree/test_plans/asan_smoke_test_plan.rst
TestSuite:
pf_smoke: http://git.dpdk.org/tools/dts/tree/tests/TestSuite_pf_smoke.py
vf_smoke: http://git.dpdk.org/tools/dts/tree/tests/TestSuite_vf_smoke.py
virtio_smoke: http://git.dpdk.org/tools/dts/tree/tests/TestSuite_virtio_smoke.py
asan_smoke: http://git.dpdk.org/tools/dts/tree/tests/TestSuite_asan_smoke.py
DPDK STV team
More information about the test-report
mailing list