Lines Matching refs:die

200      * Compute the number of cores per die.
206 * Compute the number of threads per die.
343 lcpu->die = NULL;
421 x86_die_t *die;
434 die = pkg->dies;
435 while (die != NULL) {
436 if (die->pdie_num == die_num)
438 die = die->next_in_pkg;
441 return(die);
448 x86_die_t *die;
456 die = x86_die_find(cpu);
457 if (die == NULL)
460 core = die->cores;
484 x86_set_die_numbers(x86_die_t *die, x86_lcpu_t *lcpu)
486 die->pdie_num = lcpu->cpu_num / (topoParms.nLThreadsPerCore * topoParms.nLCoresPerDie);
487 die->ldie_num = die->pdie_num % topoParms.nLDiesPerPackage;
500 x86_die_t *die;
507 die = free_dies;
508 free_dies = die->next_in_pkg;
509 die->next_in_pkg = NULL;
513 die = kalloc(sizeof(x86_die_t));
514 if (die == NULL)
518 bzero((void *) die, sizeof(x86_die_t));
520 die->pdie_num = cpup->cpu_phys_number / topoParms.nPThreadsPerDie;
522 die->ldie_num = num_dies;
525 die->flags = X86DIE_FL_PRESENT;
526 return(die);
530 x86_die_free(x86_die_t *die)
533 die->next_in_pkg = free_dies;
534 free_dies = die;
608 x86_die_t *die;
658 * LLC is shared at the die level.
691 * Shared at the die.
693 die = lcpu->die;
694 cur_lcpu = die->lcpus;
748 x86_die_add_lcpu(x86_die_t *die, x86_lcpu_t *lcpu)
750 assert(die != NULL);
753 lcpu->next_in_die = die->lcpus;
754 lcpu->die = die;
755 die->lcpus = lcpu;
759 x86_die_add_core(x86_die_t *die, x86_core_t *core)
761 assert(die != NULL);
764 core->next_in_die = die->cores;
765 core->die = die;
766 die->cores = core;
767 die->num_cores += 1;
793 x86_package_add_die(x86_pkg_t *pkg, x86_die_t *die)
796 assert(die != NULL);
798 die->next_in_pkg = pkg->dies;
799 die->package = pkg;
800 pkg->dies = die;
808 x86_die_t *die = NULL;
865 * Get the die that the logical CPU is in.
868 die = x86_die_find(cpu);
869 if (die == NULL) {
874 die = x86_die_alloc(cpu);
877 x86_die_free(die);
882 * Add the die to the package.
884 x86_package_add_die(pkg, die);
886 } while (die == NULL);
906 * Add the core to the die & package.
908 x86_die_add_core(die, core);
925 x86_die_add_lcpu(core->die, &cpup->lcpu);
1007 x86_die_t *die;
1039 die = pkg->dies;
1040 while (die != NULL) {
1041 if (die->package == NULL)
1043 die->pdie_num);
1044 if (die->package != pkg)
1046 die->pdie_num, die->package->lpkg_num, pkg->lpkg_num);
1049 die->pdie_num, pkg->lpkg_num);
1052 * Make sure that the die has the correct number of cores.
1054 TOPO_DBG("Die(%d)->cores: ", die->pdie_num);
1056 core = die->cores;
1058 if (core->die == NULL)
1059 panic("Core(%d)->die is NULL",
1061 if (core->die != die)
1062 panic("Core %d points to die %d, should be %d",
1063 core->pcore_num, core->die->pdie_num, die->pdie_num);
1072 topoParms.nLCoresPerDie, nCores, die->pdie_num);
1075 * Make sure that the die has the correct number of CPUs.
1077 TOPO_DBG("Die(%d)->lcpus: ", die->pdie_num);
1079 lcpu = die->lcpus;
1081 if (lcpu->die == NULL)
1082 panic("CPU(%d)->die is NULL",
1084 if (lcpu->die != die)
1085 panic("CPU %d points to die %d, should be %d",
1086 lcpu->cpu_num, lcpu->die->pdie_num, die->pdie_num);
1095 topoParms.nLThreadsPerDie, nCPUs, die->pdie_num);
1098 die = die->next_in_pkg;
1183 x86_die_t *die;
1193 die = pkg->dies;
1194 while (die != NULL) {
1196 kprintf(" Physical: %d\n", die->pdie_num);
1197 kprintf(" Logical: %d\n", die->ldie_num);
1199 core = die->cores;
1226 die = die->next_in_pkg;