summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/task-analyzer.py
diff options
context:
space:
mode:
authorAlexander Lobakin <aleksander.lobakin@intel.com>2025-08-26 17:54:57 +0200
committerTony Nguyen <anthony.l.nguyen@intel.com>2025-09-08 11:05:00 -0700
commitea18bcca43f4264809b3136761db523c5ac9f560 (patch)
treeb82a1e982fa00e629cbda5a370ea620ad76a008d /tools/perf/scripts/python/task-analyzer.py
parentc20edbacc0295fd36f5f634b3421647ce3e08fd7 (diff)
idpf: use a saner limit for default number of queues to allocate
Currently, the maximum number of queues available for one vport is 16. This is hardcoded, but then the function calculating the optimal number of queues takes min(16, num_online_cpus()). In order to be able to allocate more queues, which will be then used for XDP, stop hardcoding 16 and rely on what the device gives us[*]. Instead of num_online_cpus(), which is considered suboptimal since at least 2013, use netif_get_num_default_rss_queues() to still have free queues in the pool. [*] With the note: Currently, idpf always allocates `IDPF_MAX_BUFQS_PER_RXQ_GRP` (== 2) buffer queues for each Rx queue and one completion queue for each Tx for best performance. But there was no check whether such number is available, IOW the assumption was not backed by any "harmonizing" / actual checks. Fix this while at it. nr_cpu_ids number of Tx queues are needed only for lockless XDP sending, the regular stack doesn't benefit from that anyhow. On a 128-thread Xeon, this now gives me 32 regular Tx queues and leaves 224 free for XDP (128 of which will handle XDP_TX, .ndo_xdp_xmit(), and XSk xmit when enabled). Note 2: Unfortunately, some CP/FW versions are not able to reconfigure/enable/disable large amount of queues within the minimum timeout (2 seconds). For now, fall back to the default timeout for every operation until this is resolved. Signed-off-by: Alexander Lobakin <aleksander.lobakin@intel.com> Tested-by: Ramu R <ramu.r@intel.com> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Diffstat (limited to 'tools/perf/scripts/python/task-analyzer.py')
0 files changed, 0 insertions, 0 deletions