Lines Matching refs:upa
2484 int upa, apl; /* units per alloc, allocs per line */
2495 upa = ai->alloc_size / ai->unit_size;
2496 width = upa * (cpu_width + 1) + group_width + 3;
2507 BUG_ON(gi->nr_units % upa);
2508 for (alloc_end += gi->nr_units / upa;
2516 for (unit_end += upa; unit < unit_end; unit++)
2848 int upa, max_upa, best_upa; /* units_per_alloc */
2874 upa = alloc_size / min_unit_size;
2875 while (alloc_size % upa || (offset_in_page(alloc_size / upa)))
2876 upa--;
2877 max_upa = upa;
2902 * Wasted space is caused by a ratio imbalance of upa to group_cnt.
2908 for (upa = max_upa; upa; upa--) {
2911 if (alloc_size % upa || (offset_in_page(alloc_size / upa)))
2915 int this_allocs = DIV_ROUND_UP(group_cnt[group], upa);
2917 wasted += this_allocs * upa - group_cnt[group];
2922 * greater-than comparison ensures upa==1 always
2932 best_upa = upa;
2935 upa = best_upa;
2939 nr_units += roundup(group_cnt[group], upa);
2948 cpu_map += roundup(group_cnt[group], upa);
2954 ai->unit_size = alloc_size / upa;
2971 gi->nr_units = roundup(gi->nr_units, upa);
3246 int upa;
3255 upa = ai->alloc_size/ai->unit_size;
3256 nr_g0_units = roundup(num_possible_cpus(), upa);