]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
sched: add sched_numa_find_nth_cpu()
authorYury Norov <yury.norov@gmail.com>
Sat, 21 Jan 2023 04:24:30 +0000 (20:24 -0800)
committerJakub Kicinski <kuba@kernel.org>
Wed, 8 Feb 2023 02:20:00 +0000 (18:20 -0800)
commitcd7f55359c90a4108e6528e326b8623fce1ad72a
treeee6f3686234c12a3cc9e1685dd375753b08e810b
parent62f4386e564d31c7d0ed7d835843e2685f99ae71
sched: add sched_numa_find_nth_cpu()

The function finds Nth set CPU in a given cpumask starting from a given
node.

Leveraging the fact that each hop in sched_domains_numa_masks includes the
same or greater number of CPUs than the previous one, we can use binary
search on hops instead of linear walk, which makes the overall complexity
of O(log n) in terms of number of cpumask_weight() calls.

Signed-off-by: Yury Norov <yury.norov@gmail.com>
Acked-by: Tariq Toukan <tariqt@nvidia.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Reviewed-by: Peter Lafreniere <peter@n8pjl.ca>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/linux/topology.h
kernel/sched/topology.c