Date: Wed, 17 Apr 2024 14:44:33 +0200 From: Krzysztof Galazka <krzysztof.galazka@intel.com> To: <freebsd-net@freebsd.org> Subject: [iflib] Allow concurrent execution of admin tasks from different interfaces Message-ID: <Zh_EMaUocVOWsFws@kgalazka-mobl1.ger.corp.intel.com>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Zh_EMaUocVOWsFws>