HomeFreeBSD

iflib(4): Replace admin taskqueue group with per-interface taskqueues

Description

iflib(4): Replace admin taskqueue group with per-interface taskqueues

Using one taskqueue group with single thread to execute all admin
tasks may lead to unexpected timeouts when long running task (e.g.
handling a reset after FW update) for one interface prevents
tasks from other interfaces being executed. Taskqueue group API
doesn't let to dynamically add threads, and pre-allocating thread
for each CPU as it's done for traffic queues would be a waste
of resources on systems with small number of interfaces. Replace
global taskqueue group for admin tasks with taskqueue allocated
for each interface to allow independent execution.

Signed-off-by: Krzysztof Galazka <krzysztof.galazka@intel.com>
Reviewed by: imp, jhb
Pull Request: https://github.com/freebsd/freebsd-src/pull/1336
(cherry picked from commit 3ad01642fe9e241124553f2f18fd365ffea5d20b)

Details

Provenance
krzysztof.galazka_intel.comAuthored on Jul 5 2024, 11:00 AM
impCommitted on Sun, Apr 27, 10:02 PM
Parents
rG54f842ed8897: /sys/dev/bnxt: Enable NPAR support on BCM57504
Branches
Unknown
Tags
Unknown