Lines Matching refs:core
93 static int core_pinned_to_node_id(struct toptree *core) in core_pinned_to_node_id() argument
95 return emu_cores->to_node_id[core->id]; in core_pinned_to_node_id()
103 struct toptree *core; in cores_free() local
106 toptree_for_each(core, tree, CORE) { in cores_free()
107 if (core_pinned_to_node_id(core) == NODE_ID_FREE) in cores_free()
116 static struct toptree *core_node(struct toptree *core) in core_node() argument
118 return core->parent->parent->parent->parent; in core_node()
124 static struct toptree *core_drawer(struct toptree *core) in core_drawer() argument
126 return core->parent->parent->parent; in core_drawer()
132 static struct toptree *core_book(struct toptree *core) in core_book() argument
134 return core->parent->parent; in core_book()
140 static struct toptree *core_mc(struct toptree *core) in core_mc() argument
142 return core->parent; in core_mc()
163 static int dist_node_to_core(struct toptree *node, struct toptree *core) in dist_node_to_core() argument
169 dist_min = min(dist_min, dist_core_to_core(core_node, core)); in dist_node_to_core()
189 static struct toptree *node_for_core(struct toptree *numa, struct toptree *core, in node_for_core() argument
200 if (core_pinned_to_node_id(core) == node->id) { in node_for_core()
207 dist_cur = dist_node_to_core(node, core); in node_for_core()
222 struct toptree *node, *core, *tmp; in toptree_to_numa_single() local
224 toptree_for_each_safe(core, tmp, phys, CORE) { in toptree_to_numa_single()
225 node = node_for_core(numa, core, extra); in toptree_to_numa_single()
228 toptree_move(core, node); in toptree_to_numa_single()
229 pin_core_to_node(core->id, node->id); in toptree_to_numa_single()
273 struct toptree *core; in toptree_to_numa_first() local
283 toptree_for_each(core, numa, CORE) in toptree_to_numa_first()
284 pin_core_to_node(core->id, core_node(core)->id); in toptree_to_numa_first()
351 struct toptree *phys, *node, *drawer, *book, *mc, *core; in toptree_from_topology() local
363 core = toptree_get_child(mc, top->core_id); in toptree_from_topology()
364 if (!drawer || !book || !mc || !core) in toptree_from_topology()
366 cpumask_set_cpu(cpu, &core->mask); in toptree_from_topology()
375 static void topology_add_core(struct toptree *core) in topology_add_core() argument
380 for_each_cpu(cpu, &core->mask) { in topology_add_core()
382 cpumask_copy(&top->thread_mask, &core->mask); in topology_add_core()
383 cpumask_copy(&top->core_mask, &core_mc(core)->mask); in topology_add_core()
384 cpumask_copy(&top->book_mask, &core_book(core)->mask); in topology_add_core()
385 cpumask_copy(&top->drawer_mask, &core_drawer(core)->mask); in topology_add_core()
386 cpumask_set_cpu(cpu, &node_to_cpumask_map[core_node(core)->id]); in topology_add_core()
387 top->node_id = core_node(core)->id; in topology_add_core()
396 struct toptree *core; in toptree_to_topology() local
404 toptree_for_each(core, numa, CORE) in toptree_to_topology()
405 topology_add_core(core); in toptree_to_topology()