[iflib] Allow concurrent execution of admin tasks from different interfaces
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 17 Apr 2024 12:44:33 UTC
Hi, In current iflib implementation there is a single task queue group used for all admin tasks, defined with: iflib.c:560 TASKQGROUP_DEFINE(if_config_tqg, 1, 1); This does not allow for concurrent processing of tasks. In systems with a large number of interfaces this may cause one long running task (e.g. related to FW update) to trigger timeouts of other tasks. Changing that to: TASKQGROUP_DEFINE(if_config_tqg, mp_cpu, 1); works, but might be an overkill. I don't see a way to dynamically add new threads/cpus to already defined taskqgroup though. I'll be grateful for any suggestions how to approach this issue. Thanks, Krzysiek