Sync some patches for hns3 PMD, telemetry and testpmd. And main modifications are as follows: - backport some bugfixes for hns3 - revert Tx performance optimization for hns3 - add Rx/Tx descriptor dump feature for hns3 - refactor some RSS commands for testpmd - add ethdev telemetry private dump - add dmadev telemetry - sync telemetry lib Signed-off-by: Huisong Li <lihuisong@huawei.com> (cherry picked from commit 4f06d27eff9aa99c2e2073ac74328893990ed8ed)
47 lines
1.7 KiB
Diff
47 lines
1.7 KiB
Diff
From 9a640a6c9cfbf7b5dea307209dc6f20cbfc871c0 Mon Sep 17 00:00:00 2001
|
|
From: Huisong Li <lihuisong@huawei.com>
|
|
Date: Fri, 21 Oct 2022 15:36:03 +0800
|
|
Subject: [PATCH 127/189] net/hns3: cancel heartbeat alarm when VF reset
|
|
|
|
The purpose of the heartbeat alarm is to keep alive for VF. The mailbox
|
|
channel is disabled when VF is reset, and the heartbeat mailbox message
|
|
will fail to send. If the reset is not complete, the error information
|
|
about the heartbeat sending failure will be printed continuously.
|
|
In fact, VF does set alive when VF restore its configuration. So the
|
|
heartbeat alarm can be canceled to prepare to start reset and start the
|
|
alarm when start service.
|
|
|
|
Signed-off-by: Huisong Li <lihuisong@huawei.com>
|
|
Signed-off-by: Dongdong Liu <liudongdong3@huawei.com>
|
|
---
|
|
drivers/net/hns3/hns3_ethdev_vf.c | 6 ++++++
|
|
1 file changed, 6 insertions(+)
|
|
|
|
diff --git a/drivers/net/hns3/hns3_ethdev_vf.c b/drivers/net/hns3/hns3_ethdev_vf.c
|
|
index b85f68cb1d..0dea63e8be 100644
|
|
--- a/drivers/net/hns3/hns3_ethdev_vf.c
|
|
+++ b/drivers/net/hns3/hns3_ethdev_vf.c
|
|
@@ -1977,6 +1977,8 @@ hns3vf_stop_service(struct hns3_adapter *hns)
|
|
} else
|
|
hw->reset.mbuf_deferred_free = false;
|
|
|
|
+ rte_eal_alarm_cancel(hns3vf_keep_alive_handler, eth_dev);
|
|
+
|
|
/*
|
|
* It is cumbersome for hardware to pick-and-choose entries for deletion
|
|
* from table space. Hence, for function reset software intervention is
|
|
@@ -1998,6 +2000,10 @@ hns3vf_start_service(struct hns3_adapter *hns)
|
|
eth_dev = &rte_eth_devices[hw->data->port_id];
|
|
hns3_set_rxtx_function(eth_dev);
|
|
hns3_mp_req_start_rxtx(eth_dev);
|
|
+
|
|
+ rte_eal_alarm_set(HNS3VF_KEEP_ALIVE_INTERVAL, hns3vf_keep_alive_handler,
|
|
+ eth_dev);
|
|
+
|
|
if (hw->adapter_state == HNS3_NIC_STARTED) {
|
|
hns3vf_start_poll_job(eth_dev);
|
|
|
|
--
|
|
2.23.0
|
|
|