Lines Matching defs:threadInfo

2291   apicThreadInfo *threadInfo = (apicThreadInfo *)__kmp_allocate(
2302 threadInfo[nApics].osId = i;
2307 __kmp_free(threadInfo);
2311 threadInfo[nApics].apicId = (buf.ebx >> 24) & 0xff;
2312 threadInfo[nApics].maxThreadsPerPkg = (buf.ebx >> 16) & 0xff;
2313 if (threadInfo[nApics].maxThreadsPerPkg == 0) {
2314 threadInfo[nApics].maxThreadsPerPkg = 1;
2326 threadInfo[nApics].maxCoresPerPkg = ((buf.eax >> 26) & 0x3f) + 1;
2328 threadInfo[nApics].maxCoresPerPkg = 1;
2332 int widthCT = __kmp_cpuid_mask_width(threadInfo[nApics].maxThreadsPerPkg);
2333 threadInfo[nApics].pkgId = threadInfo[nApics].apicId >> widthCT;
2335 int widthC = __kmp_cpuid_mask_width(threadInfo[nApics].maxCoresPerPkg);
2341 __kmp_free(threadInfo);
2347 threadInfo[nApics].coreId = (threadInfo[nApics].apicId >> widthT) & maskC;
2350 threadInfo[nApics].threadId = threadInfo[nApics].apicId & maskT;
2359 // Sort the threadInfo table by physical Id.
2360 qsort(threadInfo, nApics, sizeof(*threadInfo),
2382 unsigned lastPkgId = threadInfo[0].pkgId;
2384 unsigned lastCoreId = threadInfo[0].coreId;
2386 unsigned lastThreadId = threadInfo[0].threadId;
2389 unsigned prevMaxCoresPerPkg = threadInfo[0].maxCoresPerPkg;
2390 unsigned prevMaxThreadsPerPkg = threadInfo[0].maxThreadsPerPkg;
2393 if (threadInfo[i].pkgId != lastPkgId) {
2396 lastPkgId = threadInfo[i].pkgId;
2400 lastCoreId = threadInfo[i].coreId;
2404 lastThreadId = threadInfo[i].threadId;
2408 prevMaxCoresPerPkg = threadInfo[i].maxCoresPerPkg;
2409 prevMaxThreadsPerPkg = threadInfo[i].maxThreadsPerPkg;
2413 if (threadInfo[i].coreId != lastCoreId) {
2416 lastCoreId = threadInfo[i].coreId;
2420 lastThreadId = threadInfo[i].threadId;
2421 } else if (threadInfo[i].threadId != lastThreadId) {
2423 lastThreadId = threadInfo[i].threadId;
2425 __kmp_free(threadInfo);
2432 if ((prevMaxCoresPerPkg != threadInfo[i].maxCoresPerPkg) ||
2433 (prevMaxThreadsPerPkg != threadInfo[i].maxThreadsPerPkg)) {
2434 __kmp_free(threadInfo);
2472 unsigned os = threadInfo[i].osId;
2477 hw_thread.ids[idx++] = threadInfo[i].pkgId;
2480 hw_thread.ids[idx++] = threadInfo[i].coreId;
2483 hw_thread.ids[idx++] = threadInfo[i].threadId;
2488 __kmp_free(threadInfo);
3006 unsigned **threadInfo =
3010 threadInfo[i] =
3016 __kmp_free(threadInfo[i]); \
3018 __kmp_free(threadInfo);
3029 INIT_PROC_INFO(threadInfo[i]);
3099 threadInfo[cpu][osIdIndex] = cpu;
3100 threadInfo[cpu][pkgIdIndex] = cur_rad;
3101 threadInfo[cpu][coreIdIndex] = cpu / smt_threads;
3131 // If there is valid data in threadInfo[num_avail], then fake
3135 if (threadInfo[num_avail][i] != UINT_MAX) {
3188 if (threadInfo[num_avail][osIdIndex] != UINT_MAX)
3198 threadInfo[num_avail][osIdIndex] = val;
3204 threadInfo[num_avail][osIdIndex]);
3205 __kmp_read_from_file(path, "%u", &threadInfo[num_avail][pkgIdIndex]);
3212 threadInfo[num_avail][osIdIndex]);
3214 threadInfo[num_avail][pkgIdIndex] |= (book_id << 8);
3219 threadInfo[num_avail][osIdIndex]);
3221 threadInfo[num_avail][pkgIdIndex] |= (drawer_id << 16);
3226 threadInfo[num_avail][osIdIndex]);
3227 __kmp_read_from_file(path, "%u", &threadInfo[num_avail][coreIdIndex]);
3238 if (threadInfo[num_avail][pkgIdIndex] != UINT_MAX)
3240 threadInfo[num_avail][pkgIdIndex] = val;
3250 if (threadInfo[num_avail][coreIdIndex] != UINT_MAX)
3252 threadInfo[num_avail][coreIdIndex] = val;
3263 if (threadInfo[num_avail][threadIdIndex] != UINT_MAX)
3265 threadInfo[num_avail][threadIdIndex] = val;
3279 if (threadInfo[num_avail][nodeIdIndex + level] != UINT_MAX)
3281 threadInfo[num_avail][nodeIdIndex + level] = val;
3309 if (threadInfo[num_avail][osIdIndex] == UINT_MAX) {
3314 if (threadInfo[0][pkgIdIndex] == UINT_MAX) {
3322 !KMP_CPU_ISSET(threadInfo[num_avail][osIdIndex],
3324 INIT_PROC_INFO(threadInfo[num_avail]);
3332 INIT_PROC_INFO(threadInfo[num_avail]);
3360 // Sort the threadInfo table by physical Id.
3361 qsort(threadInfo, num_avail, sizeof(*threadInfo),
3391 // Initialize the counter arrays with data from threadInfo[0].
3393 if (threadInfo[0][threadIdIndex] == UINT_MAX) {
3394 threadInfo[0][threadIdIndex] = threadIdCt++;
3395 } else if (threadIdCt <= threadInfo[0][threadIdIndex]) {
3396 threadIdCt = threadInfo[0][threadIdIndex] + 1;
3403 lastId[index] = threadInfo[0][index];
3414 if (threadInfo[i][threadIdIndex] == UINT_MAX) {
3415 threadInfo[i][threadIdIndex] = threadIdCt++;
3419 else if (threadIdCt <= threadInfo[i][threadIdIndex]) {
3420 threadIdCt = threadInfo[i][threadIdIndex] + 1;
3423 if (threadInfo[i][index] != lastId[index]) {
3434 lastId[index2] = threadInfo[i][index2];
3438 lastId[index] = threadInfo[i][index];
3452 if (threadInfo[i][threadIdIndex] == UINT_MAX) {
3453 threadInfo[i][threadIdIndex] = threadIdCt++;
3459 else if (threadIdCt <= threadInfo[i][threadIdIndex]) {
3460 threadIdCt = threadInfo[i][threadIdIndex] + 1;
3470 if ((threadInfo[i][threadIdIndex] != UINT_MAX) || assign_thread_ids) {
3569 unsigned os = threadInfo[i][osIdIndex];
3581 hw_thread.ids[pkgLevel] = threadInfo[i][src_index];
3583 hw_thread.ids[coreLevel] = threadInfo[i][src_index];
3585 hw_thread.ids[threadLevel] = threadInfo[i][src_index];