[dpdk-dev] [PATCH v2] net/sfc: do not panic if alarms are not supported
Andrew Rybchenko
arybchenko at solarflare.com
Thu Jan 19 12:12:20 CET 2017
Alarms are not supported on the FreeBSD.
Application must poll link status periodically itself using
rte_eth_link_get_nowait() to avoid management event queue overflow.
Fixes: 2de39f4e1310 ("net/sfc: periodic management EVQ polling using alarm")
Signed-off-by: Andrew Rybchenko <arybchenko at solarflare.com>
Reviewed-by: Andrew Lee <alee at solarflare.com>
Reviewed-by: Andy Moreton <amoreton at solarflare.com>
---
v2:
- fix spelling
drivers/net/sfc/sfc_ev.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/drivers/net/sfc/sfc_ev.c b/drivers/net/sfc/sfc_ev.c
index c788986..fe6de6f 100644
--- a/drivers/net/sfc/sfc_ev.c
+++ b/drivers/net/sfc/sfc_ev.c
@@ -499,10 +499,14 @@
rc = rte_eal_alarm_set(SFC_MGMT_EV_QPOLL_PERIOD_US,
sfc_ev_mgmt_periodic_qpoll, sa);
- if (rc != 0)
- sfc_panic(sa,
- "cannot rearm management EVQ polling alarm (rc=%d)",
- rc);
+ if (rc == -ENOTSUP) {
+ sfc_warn(sa, "alarms are not supported");
+ sfc_warn(sa, "management EVQ must be polled indirectly using no-wait link status update");
+ } else if (rc != 0) {
+ sfc_err(sa,
+ "cannot rearm management EVQ polling alarm (rc=%d)",
+ rc);
+ }
}
static void
--
1.8.2.3
More information about the dev
mailing list