Page MenuHomeFreeBSD

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

Authored by krzysztof.galazka_intel.com on Jul 22 2024, 4:26 PM.
Tags
None
Referenced Files
F93103230: D46062.id.diff
Sat, Sep 7, 9:12 AM
F93099158: D46062.id.diff
Sat, Sep 7, 8:10 AM
F93097457: D46062.id.diff
Sat, Sep 7, 7:46 AM
Unknown Object (File)
Fri, Sep 6, 10:11 AM
Unknown Object (File)
Fri, Sep 6, 9:51 AM
Unknown Object (File)
Jul 28 2024, 8:55 AM
Unknown Object (File)
Jul 25 2024, 8:51 AM

Details

Reviewers
shurd
Group Reviewers
iflib
Summary

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>

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 58764
Build 55652: arc lint + arc unit