Lines Matching full:processors
36 struct cpuinfo_arm_linux_processor* processors) in cluster_siblings_parser() argument
38 processors[processor].flags |= CPUINFO_LINUX_FLAG_PACKAGE_CLUSTER; in cluster_siblings_parser()
39 uint32_t package_leader_id = processors[processor].package_leader_id; in cluster_siblings_parser()
42 if (!bitmask_all(processors[sibling].flags, CPUINFO_LINUX_FLAG_VALID)) { in cluster_siblings_parser()
48 const uint32_t sibling_package_leader_id = processors[sibling].package_leader_id; in cluster_siblings_parser()
53 processors[sibling].package_leader_id = package_leader_id; in cluster_siblings_parser()
54 processors[sibling].flags |= CPUINFO_LINUX_FLAG_PACKAGE_CLUSTER; in cluster_siblings_parser()
57 processors[processor].package_leader_id = package_leader_id; in cluster_siblings_parser()
66 /* Move usable processors towards the start of the array */ in cmp_arm_linux_processor()
106 struct cpuinfo_processor* processors = NULL; in cpuinfo_arm_linux_init() local
119 cpuinfo_log_debug("system maximum processors count: %"PRIu32, max_processors_count); in cpuinfo_arm_linux_init()
123 cpuinfo_log_debug("maximum possible processors count: %"PRIu32, max_possible_processors_count); in cpuinfo_arm_linux_init()
126 cpuinfo_log_debug("maximum present processors count: %"PRIu32, max_present_processors_count); in cpuinfo_arm_linux_init()
139 cpuinfo_log_error("failed to parse both lists of possible and present processors"); in cpuinfo_arm_linux_init()
146 "failed to allocate %zu bytes for descriptions of %"PRIu32" ARM logical processors", in cpuinfo_arm_linux_init()
207 * This is fairly common: high-index processors can be not reported if they are offline. in cpuinfo_arm_linux_init()
254 * If different processors report different ISA features, take the intersection. in cpuinfo_arm_linux_init()
345 …* Topology information about some or all logical processors may be unavailable, for the following … in cpuinfo_arm_linux_init()
349 * In this case, we assign processors to clusters using two methods: in cpuinfo_arm_linux_init()
351 * - If heuristic failed, assign processors to core clusters in a sequential scan. in cpuinfo_arm_linux_init()
429 processors = calloc(valid_processors, sizeof(struct cpuinfo_processor)); in cpuinfo_arm_linux_init()
430 if (processors == NULL) { in cpuinfo_arm_linux_init()
431 cpuinfo_log_error("failed to allocate %zu bytes for descriptions of %"PRIu32" logical processors", in cpuinfo_arm_linux_init()
530 processors[i].smt_id = 0; in cpuinfo_arm_linux_init()
531 processors[i].core = cores + i; in cpuinfo_arm_linux_init()
532 processors[i].cluster = clusters + cluster_id; in cpuinfo_arm_linux_init()
533 processors[i].package = &package; in cpuinfo_arm_linux_init()
534 processors[i].linux_id = (int) arm_linux_processors[i].system_processor_id; in cpuinfo_arm_linux_init()
535 processors[i].cache.l1i = l1i + i; in cpuinfo_arm_linux_init()
536 processors[i].cache.l1d = l1d + i; in cpuinfo_arm_linux_init()
537 linux_cpu_to_processor_map[arm_linux_processors[i].system_processor_id] = &processors[i]; in cpuinfo_arm_linux_init()
671 processors[i].cache.l2 = l2 + l2_index; in cpuinfo_arm_linux_init()
689 processors[i].cache.l3 = l3; in cpuinfo_arm_linux_init()
691 processors[i].cache.l3 = l3 + l3_index; in cpuinfo_arm_linux_init()
708 processors[i].cache.l2 = l2 + l2_index; in cpuinfo_arm_linux_init()
713 cpuinfo_processors = processors; in cpuinfo_arm_linux_init()
732 cpuinfo_max_cache_size = cpuinfo_arm_compute_max_cache_size(&processors[0]); in cpuinfo_arm_linux_init()
743 processors = NULL; in cpuinfo_arm_linux_init()
754 free(processors); in cpuinfo_arm_linux_init()