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
Unknown Object (File)
Fri, Sep 13, 2:32 AM
Unknown Object (File)
Wed, Sep 11, 3:56 PM
Unknown Object (File)
Tue, Sep 10, 11:54 PM
Unknown Object (File)
Tue, Sep 10, 10:22 PM
Unknown Object (File)
Sep 8 2024, 4:11 PM
Unknown Object (File)
Sep 7 2024, 9:12 AM
Unknown Object (File)
Sep 7 2024, 8:10 AM
Unknown Object (File)
Sep 7 2024, 7:46 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