DPDK-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Ciara Loftus <ciara.loftus@intel.com>
To: dev@dpdk.org
Cc: bruce.richardson@intel.com, Ciara Loftus <ciara.loftus@intel.com>
Subject: [PATCH v2 0/3] net/intel: fix link status when interrupt delivery unavailable
Date: Thu,  9 Jul 2026 11:25:53 +0000	[thread overview]
Message-ID: <20260709112556.1765262-1-ciara.loftus@intel.com> (raw)
In-Reply-To: <20260630141627.1035420-1-ciara.loftus@intel.com>

On FreeBSD with nic_uio, interrupt registration fails silently and
hardware events, including link state notifications, are never processed
via the interrupt path.

For ice, this affects the typical polling-mode configuration: the
interrupt handler is never invoked, AdminQ messages go unprocessed,
and link status is not reliable. A periodic alarm is added to drain
the AdminQ when interrupt delivery is unavailable. For i40e, an
alarm already runs unconditionally in polling mode, so that
configuration is unaffected. The gap is the interrupt-mode
configuration, where the existing alarm was not activated as a
fallback when interrupt enable fails; this patch extends it to do so.

v2:
 * Added warning on rte_eal_alarm_set failure (i40e & ice)
 * Only set use_aq_polling if rte_eal_alarm_set succeeds (i40e & ice)
 * Move alarm cancel in ice_dev_stop to prevent a race (ice)
 * Remove unnecessary alarm cancel from ice_dev_start error path (ice)
 * Added general fix for ice dev_start error path

Ciara Loftus (3):
  net/ice: poll AdminQ if interrupt delivery unavailable
  net/i40e: activate alarm if interrupt delivery unavailable
  net/ice: fix adapter stopped on device start error

 drivers/net/intel/i40e/i40e_ethdev.c | 11 ++++++-
 drivers/net/intel/i40e/i40e_ethdev.h |  2 ++
 drivers/net/intel/ice/ice_ethdev.c   | 44 +++++++++++++++++++++++++++-
 drivers/net/intel/ice/ice_ethdev.h   |  1 +
 4 files changed, 56 insertions(+), 2 deletions(-)

-- 
2.43.0


  parent reply	other threads:[~2026-07-09 11:26 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-30 14:16 [PATCH 0/2] net/intel: fix link status when interrupt delivery unavailable Ciara Loftus
2026-06-30 14:16 ` [PATCH 1/2] net/ice: poll AdminQ if " Ciara Loftus
2026-07-01 11:26   ` Bruce Richardson
2026-07-09 10:54     ` Loftus, Ciara
2026-06-30 14:16 ` [PATCH 2/2] net/i40e: activate alarm " Ciara Loftus
2026-07-09 11:25 ` Ciara Loftus [this message]
2026-07-09 11:25   ` [PATCH v2 1/3] net/ice: poll AdminQ " Ciara Loftus
2026-07-09 11:25   ` [PATCH v2 2/3] net/i40e: activate alarm " Ciara Loftus
2026-07-09 11:25   ` [PATCH v2 3/3] net/ice: fix adapter stopped on device start error Ciara Loftus
2026-07-10  9:22   ` [PATCH v2 0/3] net/intel: fix link status when interrupt delivery unavailable Bruce Richardson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260709112556.1765262-1-ciara.loftus@intel.com \
    --to=ciara.loftus@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox