Lines Matching refs:core
94 static int core_pinned_to_node_id(struct toptree *core) in core_pinned_to_node_id() argument
96 return emu_cores->to_node_id[core->id]; in core_pinned_to_node_id()
104 struct toptree *core; in cores_free() local
107 toptree_for_each(core, tree, CORE) { in cores_free()
108 if (core_pinned_to_node_id(core) == NODE_ID_FREE) in cores_free()
117 static struct toptree *core_node(struct toptree *core) in core_node() argument
119 return core->parent->parent->parent->parent; in core_node()
125 static struct toptree *core_drawer(struct toptree *core) in core_drawer() argument
127 return core->parent->parent->parent; in core_drawer()
133 static struct toptree *core_book(struct toptree *core) in core_book() argument
135 return core->parent->parent; in core_book()
141 static struct toptree *core_mc(struct toptree *core) in core_mc() argument
143 return core->parent; in core_mc()
164 static int dist_node_to_core(struct toptree *node, struct toptree *core) in dist_node_to_core() argument
170 dist_min = min(dist_min, dist_core_to_core(core_node, core)); in dist_node_to_core()
190 static struct toptree *node_for_core(struct toptree *numa, struct toptree *core, in node_for_core() argument
201 if (core_pinned_to_node_id(core) == node->id) { in node_for_core()
208 dist_cur = dist_node_to_core(node, core); in node_for_core()
223 struct toptree *node, *core, *tmp; in toptree_to_numa_single() local
225 toptree_for_each_safe(core, tmp, phys, CORE) { in toptree_to_numa_single()
226 node = node_for_core(numa, core, extra); in toptree_to_numa_single()
229 toptree_move(core, node); in toptree_to_numa_single()
230 pin_core_to_node(core->id, node->id); in toptree_to_numa_single()
274 struct toptree *core; in toptree_to_numa_first() local
284 toptree_for_each(core, numa, CORE) in toptree_to_numa_first()
285 pin_core_to_node(core->id, core_node(core)->id); in toptree_to_numa_first()
353 struct toptree *phys, *node, *drawer, *book, *mc, *core; in toptree_from_topology() local
365 core = toptree_get_child(mc, smp_get_base_cpu(cpu)); in toptree_from_topology()
366 if (!drawer || !book || !mc || !core) in toptree_from_topology()
368 cpumask_set_cpu(cpu, &core->mask); in toptree_from_topology()
377 static void topology_add_core(struct toptree *core) in topology_add_core() argument
382 for_each_cpu(cpu, &core->mask) { in topology_add_core()
384 cpumask_copy(&top->thread_mask, &core->mask); in topology_add_core()
385 cpumask_copy(&top->core_mask, &core_mc(core)->mask); in topology_add_core()
386 cpumask_copy(&top->book_mask, &core_book(core)->mask); in topology_add_core()
387 cpumask_copy(&top->drawer_mask, &core_drawer(core)->mask); in topology_add_core()
388 cpumask_set_cpu(cpu, &node_to_cpumask_map[core_node(core)->id]); in topology_add_core()
389 top->node_id = core_node(core)->id; in topology_add_core()
398 struct toptree *core; in toptree_to_topology() local
406 toptree_for_each(core, numa, CORE) in toptree_to_topology()
407 topology_add_core(core); in toptree_to_topology()