Lines Matching defs:threadInfo

2349   apicThreadInfo *threadInfo = (apicThreadInfo *)__kmp_allocate(
2360 threadInfo[nApics].osId = i;
2365 __kmp_free(threadInfo);
2369 threadInfo[nApics].apicId = (buf.ebx >> 24) & 0xff;
2370 threadInfo[nApics].maxThreadsPerPkg = (buf.ebx >> 16) & 0xff;
2371 if (threadInfo[nApics].maxThreadsPerPkg == 0) {
2372 threadInfo[nApics].maxThreadsPerPkg = 1;
2384 threadInfo[nApics].maxCoresPerPkg = ((buf.eax >> 26) & 0x3f) + 1;
2386 threadInfo[nApics].maxCoresPerPkg = 1;
2390 int widthCT = __kmp_cpuid_mask_width(threadInfo[nApics].maxThreadsPerPkg);
2391 threadInfo[nApics].pkgId = threadInfo[nApics].apicId >> widthCT;
2393 int widthC = __kmp_cpuid_mask_width(threadInfo[nApics].maxCoresPerPkg);
2399 __kmp_free(threadInfo);
2405 threadInfo[nApics].coreId = (threadInfo[nApics].apicId >> widthT) & maskC;
2408 threadInfo[nApics].threadId = threadInfo[nApics].apicId & maskT;
2417 // Sort the threadInfo table by physical Id.
2418 qsort(threadInfo, nApics, sizeof(*threadInfo),
2440 unsigned lastPkgId = threadInfo[0].pkgId;
2442 unsigned lastCoreId = threadInfo[0].coreId;
2444 unsigned lastThreadId = threadInfo[0].threadId;
2447 unsigned prevMaxCoresPerPkg = threadInfo[0].maxCoresPerPkg;
2448 unsigned prevMaxThreadsPerPkg = threadInfo[0].maxThreadsPerPkg;
2451 if (threadInfo[i].pkgId != lastPkgId) {
2454 lastPkgId = threadInfo[i].pkgId;
2458 lastCoreId = threadInfo[i].coreId;
2462 lastThreadId = threadInfo[i].threadId;
2466 prevMaxCoresPerPkg = threadInfo[i].maxCoresPerPkg;
2467 prevMaxThreadsPerPkg = threadInfo[i].maxThreadsPerPkg;
2471 if (threadInfo[i].coreId != lastCoreId) {
2474 lastCoreId = threadInfo[i].coreId;
2478 lastThreadId = threadInfo[i].threadId;
2479 } else if (threadInfo[i].threadId != lastThreadId) {
2481 lastThreadId = threadInfo[i].threadId;
2483 __kmp_free(threadInfo);
2490 if ((prevMaxCoresPerPkg != threadInfo[i].maxCoresPerPkg) ||
2491 (prevMaxThreadsPerPkg != threadInfo[i].maxThreadsPerPkg)) {
2492 __kmp_free(threadInfo);
2530 unsigned os = threadInfo[i].osId;
2535 hw_thread.ids[idx++] = threadInfo[i].pkgId;
2538 hw_thread.ids[idx++] = threadInfo[i].coreId;
2541 hw_thread.ids[idx++] = threadInfo[i].threadId;
2547 __kmp_free(threadInfo);
3182 static bool __kmp_package_id_from_core_siblings_list(unsigned **threadInfo,
3191 threadInfo[idx][osIdIndex]);
3194 unsigned cpu_id = threadInfo[i][osIdIndex];
3198 if (threadInfo[i][pkgIdIndex] == UINT_MAX) {
3201 threadInfo[i][pkgIdIndex] = idx;
3202 } else if (threadInfo[i][pkgIdIndex] != idx) {
3208 KMP_ASSERT(threadInfo[idx][pkgIdIndex] != UINT_MAX);
3287 unsigned **threadInfo =
3291 threadInfo[i] =
3297 __kmp_free(threadInfo[i]); \
3299 __kmp_free(threadInfo);
3310 INIT_PROC_INFO(threadInfo[i]);
3380 threadInfo[cpu][osIdIndex] = cpu;
3381 threadInfo[cpu][pkgIdIndex] = cur_rad;
3382 threadInfo[cpu][coreIdIndex] = cpu / smt_threads;
3412 // If there is valid data in threadInfo[num_avail], then fake
3416 if (threadInfo[num_avail][i] != UINT_MAX) {
3469 if (threadInfo[num_avail][osIdIndex] != UINT_MAX)
3479 threadInfo[num_avail][osIdIndex] = val;
3485 threadInfo[num_avail][osIdIndex]);
3486 __kmp_read_from_file(path, "%u", &threadInfo[num_avail][pkgIdIndex]);
3493 threadInfo[num_avail][osIdIndex]);
3495 threadInfo[num_avail][pkgIdIndex] |= (book_id << 8);
3500 threadInfo[num_avail][osIdIndex]);
3502 threadInfo[num_avail][pkgIdIndex] |= (drawer_id << 16);
3507 threadInfo[num_avail][osIdIndex]);
3508 __kmp_read_from_file(path, "%u", &threadInfo[num_avail][coreIdIndex]);
3519 if (threadInfo[num_avail][pkgIdIndex] != UINT_MAX)
3521 threadInfo[num_avail][pkgIdIndex] = val;
3531 if (threadInfo[num_avail][coreIdIndex] != UINT_MAX)
3533 threadInfo[num_avail][coreIdIndex] = val;
3544 if (threadInfo[num_avail][threadIdIndex] != UINT_MAX)
3546 threadInfo[num_avail][threadIdIndex] = val;
3560 if (threadInfo[num_avail][nodeIdIndex + level] != UINT_MAX)
3562 threadInfo[num_avail][nodeIdIndex + level] = val;
3590 if (threadInfo[num_avail][osIdIndex] == UINT_MAX) {
3598 !KMP_CPU_ISSET(threadInfo[num_avail][osIdIndex],
3600 INIT_PROC_INFO(threadInfo[num_avail]);
3608 INIT_PROC_INFO(threadInfo[num_avail]);
3627 if (threadInfo[i][pkgIdIndex] == UINT_MAX) {
3628 if (!__kmp_package_id_from_core_siblings_list(threadInfo, num_avail, i)) {
3648 // Sort the threadInfo table by physical Id.
3649 qsort(threadInfo, num_avail, sizeof(*threadInfo),
3679 // Initialize the counter arrays with data from threadInfo[0].
3681 if (threadInfo[0][threadIdIndex] == UINT_MAX) {
3682 threadInfo[0][threadIdIndex] = threadIdCt++;
3683 } else if (threadIdCt <= threadInfo[0][threadIdIndex]) {
3684 threadIdCt = threadInfo[0][threadIdIndex] + 1;
3691 lastId[index] = threadInfo[0][index];
3702 if (threadInfo[i][threadIdIndex] == UINT_MAX) {
3703 threadInfo[i][threadIdIndex] = threadIdCt++;
3707 else if (threadIdCt <= threadInfo[i][threadIdIndex]) {
3708 threadIdCt = threadInfo[i][threadIdIndex] + 1;
3711 if (threadInfo[i][index] != lastId[index]) {
3722 lastId[index2] = threadInfo[i][index2];
3726 lastId[index] = threadInfo[i][index];
3740 if (threadInfo[i][threadIdIndex] == UINT_MAX) {
3741 threadInfo[i][threadIdIndex] = threadIdCt++;
3747 else if (threadIdCt <= threadInfo[i][threadIdIndex]) {
3748 threadIdCt = threadInfo[i][threadIdIndex] + 1;
3758 if ((threadInfo[i][threadIdIndex] != UINT_MAX) || assign_thread_ids) {
3857 unsigned os = threadInfo[i][osIdIndex];
3870 hw_thread.ids[pkgLevel] = threadInfo[i][src_index];
3872 hw_thread.ids[coreLevel] = threadInfo[i][src_index];
3874 hw_thread.ids[threadLevel] = threadInfo[i][src_index];