Functions | |
static __inline__ void | topo_distribute (topo_topology_t topology, topo_obj_t root, topo_cpuset_t *cpuset, int n) |
Distribute n items over the topology under root . |
static __inline__ void topo_distribute | ( | topo_topology_t | topology, | |
topo_obj_t | root, | |||
topo_cpuset_t * | cpuset, | |||
int | n | |||
) | [static] |
Distribute n
items over the topology under root
.
Array cpuset
will be filled with n
cpusets distributed linearly over the topology under root
.
This is typically useful when an application wants to distribute n
threads over a machine, giving each of them as much private cache as possible and keeping them locally in number order.
The caller may typicall want to additionally call topo_cpuset_singlify() before binding a thread, so that it doesn't move at all.