]> git.baikalelectronics.ru Git - kernel.git/commit
cpumask: Utility function to set n'th cpu - local cpu first
authorAmir Vadai <amirv@mellanox.com>
Mon, 9 Jun 2014 07:24:38 +0000 (10:24 +0300)
committerDavid S. Miller <davem@davemloft.net>
Wed, 11 Jun 2014 21:58:16 +0000 (14:58 -0700)
commit92fe29c3a0d63497d90e0bd6c24a9960da51e531
tree71bb5b4da988abb97d1a696c2f64bf39ecf9ae0d
parent1227a8826a06fc284fbfdab56dad9f5b5e4be34c
cpumask: Utility function to set n'th cpu - local cpu first

This function sets the n'th cpu - local cpu's first.
For example: in a 16 cores server with even cpu's local, will get the
following values:
cpumask_set_cpu_local_first(0, numa, cpumask) => cpu 0 is set
cpumask_set_cpu_local_first(1, numa, cpumask) => cpu 2 is set
...
cpumask_set_cpu_local_first(7, numa, cpumask) => cpu 14 is set
cpumask_set_cpu_local_first(8, numa, cpumask) => cpu 1 is set
cpumask_set_cpu_local_first(9, numa, cpumask) => cpu 3 is set
...
cpumask_set_cpu_local_first(15, numa, cpumask) => cpu 15 is set

Curently this function will be used by multi queue networking devices to
calculate the irq affinity mask, such that as many local cpu's as
possible will be utilized to handle the mq device irq's.

Signed-off-by: Amir Vadai <amirv@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/cpumask.h
lib/cpumask.c