Lines Matching refs:group
152 /* group information, used for vm allocation */
2483 int group, v;
2503 for (group = 0; group < ai->nr_groups; group++) {
2504 const struct pcpu_group_info *gi = &ai->groups[group];
2514 pr_cont("[%0*d] ", group_width, group);
2566 * same group. Dynamic VM areas will be allocated according to these
2567 * groupings. If @ai->nr_groups is zero, a single group containing
2591 int group, unit, i;
2623 /* process group information and build config tables accordingly */
2654 for (group = 0, unit = 0; group < ai->nr_groups; group++, unit += i) {
2655 const struct pcpu_group_info *gi = &ai->groups[group];
2657 group_offsets[group] = gi->base_offset;
2658 group_sizes[group] = gi->nr_units * ai->unit_size;
2829 * units in the same group. The returned configuration is guaranteed
2849 int last_allocs, group, unit;
2881 /* group cpus according to their proximity */
2882 for (group = 0; !cpumask_empty(&mask); group++) {
2883 /* pop the group's first cpu */
2885 group_map[cpu] = group;
2886 group_cnt[group]++;
2893 group_map[tcpu] = group;
2894 group_cnt[group]++;
2899 nr_groups = group;
2914 for (group = 0; group < nr_groups; group++) {
2915 int this_allocs = DIV_ROUND_UP(group_cnt[group], upa);
2917 wasted += this_allocs * upa - group_cnt[group];
2938 for (group = 0; group < nr_groups; group++)
2939 nr_units += roundup(group_cnt[group], upa);
2946 for (group = 0; group < nr_groups; group++) {
2947 ai->groups[group].cpu_map = cpu_map;
2948 cpu_map += roundup(group_cnt[group], upa);
2958 for (group = 0, unit = 0; group < nr_groups; group++) {
2959 struct pcpu_group_info *gi = &ai->groups[group];
2969 if (group_map[cpu] == group)
3058 int group, i, highest_group, rc = 0;
3076 for (group = 0; group < ai->nr_groups; group++) {
3077 struct pcpu_group_info *gi = &ai->groups[group];
3085 /* allocate space for the whole group */
3093 areas[group] = ptr;
3097 highest_group = group;
3118 for (group = 0; group < ai->nr_groups; group++) {
3119 struct pcpu_group_info *gi = &ai->groups[group];
3120 void *ptr = areas[group];
3134 /* base address is now known, determine group base offsets */
3135 for (group = 0; group < ai->nr_groups; group++) {
3136 ai->groups[group].base_offset = areas[group] - base;
3147 for (group = 0; group < ai->nr_groups; group++)
3148 if (areas[group])
3149 pcpu_fc_free(areas[group],
3150 ai->groups[group].nr_units * ai->unit_size);