Lines Matching refs:upa
2304 int upa, apl; /* units per alloc, allocs per line */
2315 upa = ai->alloc_size / ai->unit_size;
2316 width = upa * (cpu_width + 1) + group_width + 3;
2327 BUG_ON(gi->nr_units % upa);
2328 for (alloc_end += gi->nr_units / upa;
2336 for (unit_end += upa; unit < unit_end; unit++)
2675 int upa, max_upa, best_upa; /* units_per_alloc */
2700 upa = alloc_size / min_unit_size;
2701 while (alloc_size % upa || (offset_in_page(alloc_size / upa)))
2702 upa--;
2703 max_upa = upa;
2725 * Wasted space is caused by a ratio imbalance of upa to group_cnt.
2730 for (upa = max_upa; upa; upa--) {
2733 if (alloc_size % upa || (offset_in_page(alloc_size / upa)))
2737 int this_allocs = DIV_ROUND_UP(group_cnt[group], upa);
2739 wasted += this_allocs * upa - group_cnt[group];
2744 * greater-than comparison ensures upa==1 always
2754 best_upa = upa;
2756 upa = best_upa;
2760 nr_units += roundup(group_cnt[group], upa);
2769 cpu_map += roundup(group_cnt[group], upa);
2775 ai->unit_size = alloc_size / upa;
2792 gi->nr_units = roundup(gi->nr_units, upa);
2975 int upa;
2984 upa = ai->alloc_size/ai->unit_size;
2985 nr_g0_units = roundup(num_possible_cpus(), upa);