ethdev: avoid blocking telemetry for link status
authorBruce Richardson <bruce.richardson@intel.com>
Thu, 14 Jan 2021 12:17:33 +0000 (12:17 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 19 Jan 2021 02:30:32 +0000 (03:30 +0100)
When querying the link status via telemetry interface, we don't want the
client to have to wait for multiple seconds for a reply. Therefore use
"rte_eth_link_get_nowait()" rather than "rte_eth_link_get()" in the
telemetry callback.

Fixes: c190daedb9b1 ("ethdev: add telemetry callbacks")
Cc: stable@dpdk.org
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Ciara Power <ciara.power@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
lib/librte_ethdev/rte_ethdev.c

index 9fe1c9d..daf5f24 100644 (file)
@@ -5739,7 +5739,7 @@ eth_dev_handle_port_link_status(const char *cmd __rte_unused,
        if (!rte_eth_dev_is_valid_port(port_id))
                return -1;
 
-       ret = rte_eth_link_get(port_id, &link);
+       ret = rte_eth_link_get_nowait(port_id, &link);
        if (ret < 0)
                return -1;