diff options
| author | Kevin Bowling <kbowling@FreeBSD.org> | 2026-09-11 19:00:09 +0000 |
|---|---|---|
| committer | Kevin Bowling <kbowling@FreeBSD.org> | 2026-09-15 18:55:49 +0000 |
| commit | 4b5e09be147c7303147b1742845ffe4417c4aabf (patch) | |
| tree | 9b40dd37640edee91fb82fcb93ca14245ad57bf7 /kernel/arch/hppa/(public-mirror) | |
| parent | 7fb00406ebf53e07273d0914a5f36ff6fb78c185 (diff) | |
Publish an atomic software run state snapshot through iflib_is_running().
Use it for iflib traffic admission, queue tasks, timers, debugnet and
live-configuration checks instead of reading the unsynchronized
ifnet driver flags. Keep admission closed after failed initialization
and close it when a watchdog requests deferred recovery.
Retain the context-locked datapath state for DMA ownership: a closed
admission gate does not establish that the hardware is stopped. Open
the gate after receive buffer setup and before interrupt enable, at the
existing RUNNING publication point. Serialize the writers with the
state mutex and continue publishing RUNNING/OACTIVE for network stack
consumers. The accessor takes no lock and is usable from filters, but
is only a snapshot, not a context reference or a queue-user drain.
Recheck multicast and VFLR admission under the context lock. Replace
the OACTIVE drain check with the same private admission gate, retaining
the separate per-queue descriptor backpressure policy. Rename its
debug counter to txq_drain_stopped.
Document the accessor and its synchronization limits. This does not
remove legacy flag reads elsewhere in the network stack or change the
existing queue-drain and device-stop contracts. External drivers will
still see the IFF_DRV_ publications but should migrate to this API.
Reviewed by: iflib (gallatin)
MFC after: 2 weeks
Sponsored by: BBOX.io
Differential Revision: https://reviews.freebsd.org/D59598
Diffstat (limited to 'kernel/arch/hppa/(public-mirror)')
0 files changed, 0 insertions, 0 deletions
