helper.h File Reference

High-level libtopology traversal helpers. More...

Go to the source code of this file.

Functions

static __inline__ unsigned topo_get_type_or_below_depth (topo_topology_t topology, topo_obj_type_t type)
 Returns the depth of objects of type type or below.
static __inline__ unsigned topo_get_type_or_above_depth (topo_topology_t topology, topo_obj_type_t type)
 Returns the depth of objects of type type or above.
static __inline__ int topo_get_type_nbobjs (topo_topology_t topology, topo_obj_type_t type)
 Returns the width of level type type.
static __inline__ topo_obj_t topo_get_system_obj (topo_topology_t topology)
 Returns the top-object of the topology-tree. Its type is TOPO_OBJ_SYSTEM.
static __inline__ topo_obj_t topo_get_obj (topo_topology_t topology, topo_obj_type_t type, unsigned index)
 Returns the topology object at index index with type type.
static __inline__ topo_obj_t topo_get_next_obj_by_depth (topo_topology_t topology, unsigned depth, topo_obj_t prev)
 Returns the next object at depth depth.
static __inline__ topo_obj_t topo_get_next_obj (topo_topology_t topology, topo_obj_type_t type, topo_obj_t prev)
 Returns the next object of type type.
static __inline__ topo_obj_t topo_get_next_child (topo_topology_t topology, topo_obj_t father, topo_obj_t prev)
 Return the next child.
static __inline__ topo_obj_t topo_get_common_ancestor_obj (topo_obj_t obj1, topo_obj_t obj2)
 Returns the common father object to objects lvl1 and lvl2.
static __inline__ int topo_obj_is_in_subtree (topo_obj_t obj, topo_obj_t subtree_root)
 Returns true if _obj_ is inside the subtree beginning with subtree_root.
static __inline__ topo_obj_t topo_get_next_obj_below_cpuset_by_depth (topo_topology_t topology, const topo_cpuset_t *set, unsigned depth, topo_obj_t prev)
 Return the next object at depth depth included in CPU set set.
static __inline__ topo_obj_t topo_get_next_obj_below_cpuset (topo_topology_t topology, const topo_cpuset_t *set, topo_obj_type_t type, topo_obj_t prev)
 Return the next object of type type included in CPU set set.
static __inline__ topo_obj_t topo_get_obj_below_cpuset_by_depth (topo_topology_t topology, const topo_cpuset_t *set, unsigned depth, unsigned index)
 Return the index -th object at depth depth included in CPU set set.
static __inline__ topo_obj_t topo_get_obj_below_cpuset (topo_topology_t topology, const topo_cpuset_t *set, topo_obj_type_t type, unsigned index)
 Return the index -th object of type type included in CPU set set.
static __inline__ unsigned topo_get_nbobjs_below_cpuset_by_depth (topo_topology_t topology, const topo_cpuset_t *set, unsigned depth)
 Return the number of objects at depth depth included in CPU set set.
static __inline__ int topo_get_nbobjs_below_cpuset (topo_topology_t topology, const topo_cpuset_t *set, topo_obj_type_t type)
 Return the number of objects of type type included in CPU set set.
static topo_obj_t topo_get_cpuset_covering_child (topo_topology_t topology, const topo_cpuset_t *set, topo_obj_t father)
 Get the child covering at least CPU set set.
static topo_obj_t topo_get_cpuset_covering_obj (topo_topology_t topology, const topo_cpuset_t *set)
 Get the lowest object covering at least CPU set set.
static __inline__ topo_obj_t topo_get_next_obj_above_cpuset_by_depth (topo_topology_t topology, const topo_cpuset_t *set, unsigned depth, topo_obj_t prev)
 Iterate through same-depth objects covering at least CPU set set.
static __inline__ topo_obj_t topo_get_next_obj_above_cpuset (topo_topology_t topology, const topo_cpuset_t *set, topo_obj_type_t type, topo_obj_t prev)
 Iterate through same-type objects covering at least CPU set set.
static __inline__ topo_obj_t topo_get_cpuset_covering_cache (topo_topology_t topology, const topo_cpuset_t *set)
 Get the first cache covering a cpuset set.
static __inline__ topo_obj_t topo_get_shared_cache_above (topo_topology_t topology, topo_obj_t obj)
 Get the first cache shared between an object and somebody else.
int topo_get_cpuset_objs (topo_topology_t topology, const topo_cpuset_t *set, topo_obj_t *__topo_restrict objs, int max)
 Get the set of highest objects covering exactly a given cpuset set.
int topo_get_closest_objs (topo_topology_t topology, topo_obj_t src, topo_obj_t *__topo_restrict objs, int max)
 Do a depth-first traversal of the topology to find and sort.
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.


Detailed Description

High-level libtopology traversal helpers.


Generated on Fri Jul 3 19:00:23 2009 for libtopology by  doxygen 1.5.9