Home
last modified time | relevance | path

Searched refs:cluster (Results 1 – 12 of 12) sorted by relevance

/xnu-11215/doc/scheduler/
H A Dsched_clutch_edge.md3 The intra-cluster thread scheduling design.
172 * Improved performance from avoid expensive inter-cluster, inter-die cache fills
198cluster & processor for a runnable thread, the edge scheduler uses the preferred cluster for the t…
234 * If preferred cluster scheduling latency is 0, return preferred cluster
235 * Otherwise, for each cluster which is not the preferred cluster,
237 * If scheduling latency metric is 0, return cluster
238 * Otherwise, calulate the scheduling latency delta between the cluster and the preferred cluster
239 * If delta is less than the edge weight between preferred cluster and cluster, continue
241 * Return cluster with largest scheduling latency delta
263 * (4) Steal a thread from another cluster based on sce_steal_allowed & cluster loads (sched_edge_st…
[all …]
/xnu-11215/osfmk/arm64/
H A Dmachine_routines.c1233 if (cluster->num_cpus == 0) { in ml_parse_cpu_topology()
1241 cluster->die_id = cpu->die_id; in ml_parse_cpu_topology()
1243 cluster->first_cpu_id = cpu->cpu_id; in ml_parse_cpu_topology()
1252 ml_read_reg_range(child, "acc-impl-reg", &cluster->acc_IMPL_pa, &cluster->acc_IMPL_len); in ml_parse_cpu_topology()
1253 ml_read_reg_range(child, "cpm-impl-reg", &cluster->cpm_IMPL_pa, &cluster->cpm_IMPL_len); in ml_parse_cpu_topology()
1267 cluster->num_cpus++; in ml_parse_cpu_topology()
1273 topology_info.boot_cluster = cluster; in ml_parse_cpu_topology()
1349 if (cluster->acc_IMPL_pa) { in ml_map_cpu_pio()
1350 cluster->acc_IMPL_regs = (vm_offset_t)ml_io_map(cluster->acc_IMPL_pa, cluster->acc_IMPL_len); in ml_map_cpu_pio()
1352 if (cluster->cpm_IMPL_pa) { in ml_map_cpu_pio()
[all …]
H A Dmonotonic_arm64.c553 unsigned int cluster = topo->cpus[cpu].cluster_id; in _broadcast_block_trampoline() local
554 if (topo->clusters[cluster].first_cpu_id == cpu) { in _broadcast_block_trampoline()
839 ml_topology_cluster_t *cluster = &topology_info->clusters[monid]; in uncore_init() local
840 cpm_impl[monid] = (uintptr_t)cluster->cpm_IMPL_regs; in uncore_init()
841 acc_impl[monid] = (uintptr_t)cluster->acc_IMPL_regs; in uncore_init()
/xnu-11215/bsd/kern/
H A Dsys_recount.c79 cluster_type_t cluster = cpu_type_for_perflevel(perflevel); in _perflevel_index_to_cpu_kind() local
81 cluster_type_t cluster = CLUSTER_TYPE_SMP; in _perflevel_index_to_cpu_kind()
84 switch (cluster) { in _perflevel_index_to_cpu_kind()
95 panic("recount: unexpected CPU type %d for perflevel %d", cluster, in _perflevel_index_to_cpu_kind()
/xnu-11215/doc/observability/
H A Dmt_stackshot.md68 Stackshot uses a basic per-cluster bump allocator to allocate space within the
69 buffer. Each cluster gets its own bump allocator to mitigate cache contention,
70 with space split evenly between each cluster. If a cluster runs out of buffer
73 Memory that is freed is put into a per-cluster freelist. Even if the data was
74 originally allocated from a different cluster's buffer, it will be put into the
75 current cluster's freelist (again, to reduce cache effects). The freelist is a
76 last resort, and is only used if the current cluster's buffer space fills.
/xnu-11215/doc/building/
H A Dxnu_build_consolidation.md10 core/cluster counts or cache sizes). Similarly, SoC-specific fix-ups are usually conditionally comp…
95 ### Deriving core/cluster counts from device tree
104 * Extending the `ml_*` API to extract cluster information from the topology parser. New APIs includ…
108 * Removing hardcoded core counts (`CPU_COUNT`) and cluster counts (`ARM_CLUSTER_COUNT`) from XNU, a…
113 ### Allocating memory that is core size/cluster size/cache size aligned
116 element per core or cluster. Whilst this information is not known precisely at compile time anymore…
/xnu-11215/osfmk/kern/
H A Dsched_clutch.c4119 …for (int cluster = bitmap_first(foreign_pset_bitmap, sched_edge_max_clusters); cluster >= 0; clust… in sched_edge_foreign_runnable_thread_available() local
4125 processor_set_t target_pset = pset_array[cluster]; in sched_edge_foreign_runnable_thread_available()
4144 …for (int cluster = bitmap_first(foreign_pset_bitmap, sched_edge_max_clusters); cluster >= 0; clust… in sched_edge_foreign_runnable_thread_remove() local
4150 processor_set_t target_pset = pset_array[cluster]; in sched_edge_foreign_runnable_thread_remove()
4214 int cluster = -1; in sched_edge_foreign_running_thread_available() local
4215 …while ((cluster = sched_edge_iterate_clusters_ordered(pset, foreign_pset_bitmap[0], cluster)) != -… in sched_edge_foreign_running_thread_available()
4217 processor_set_t target_pset = pset_array[cluster]; in sched_edge_foreign_running_thread_available()
4469 …for (int cluster = bitmap_first(foreign_pset_bitmap, sched_edge_max_clusters); cluster >= 0; clust… in sched_edge_balance() local
4471 processor_set_t target_pset = pset_array[cluster]; in sched_edge_balance()
H A Dsched_prim.c7629 ml_topology_cluster_t* cluster = &topology->clusters[i]; in sched_compute_requested_powered_cores() local
7630 if ((cluster->cpu_mask & online_cores_goal) != 0) { in sched_compute_requested_powered_cores()
7631 workaround_online_cores |= cluster->cpu_mask; in sched_compute_requested_powered_cores()
8112 ml_topology_cluster_t* cluster = &topology->clusters[i]; in die_and_cluster_to_cpu_mask() local
8113 if ((cluster->die_id == die_id) && in die_and_cluster_to_cpu_mask()
8114 (cluster->die_cluster_id == die_cluster_id)) { in die_and_cluster_to_cpu_mask()
8115 return cluster->cpu_mask; in die_and_cluster_to_cpu_mask()
/xnu-11215/osfmk/arm/
H A Dmachine_routines_common.c1416 ml_topology_cluster_t *cluster = &ml_get_topology_info()->clusters[i]; in ml_cpu_cache_sharing() local
1417 if ((1 << cluster->cluster_type) & cluster_types) { in ml_cpu_cache_sharing()
1418 cpu_number += cluster->num_cpus; in ml_cpu_cache_sharing()
1419 cluster_types &= ~(1 << cluster->cluster_type); in ml_cpu_cache_sharing()
/xnu-11215/osfmk/mach/
H A Dhost_priv.defs119 * Also sets the default cluster size used for pagein/pageout
/xnu-11215/config/
H A DMASTER108 options CONFIG_MBUF_JUMBO # jumbo cluster pool # <config_mbuf_jumbo>
/xnu-11215/tests/
H A Dstackshot_tests.m2295 /* Check cluster types */
2299 …exp_cluster_types containsObject:cluster_type], "Type of CPU cluster in expected CPU cluster types…
2378 /* Perform AMP tests with different cluster types active */