Lines Matching defs:set

33 static inline void init_cpu_mask_set(struct cpu_mask_set *set)
35 cpumask_clear(&set->mask);
36 cpumask_clear(&set->used);
37 set->gen = 0;
40 /* Increment generation of CPU set if needed */
41 static void _cpu_mask_set_gen_inc(struct cpu_mask_set *set)
43 if (cpumask_equal(&set->mask, &set->used)) {
48 set->gen++;
49 cpumask_clear(&set->used);
53 static void _cpu_mask_set_gen_dec(struct cpu_mask_set *set)
55 if (cpumask_empty(&set->used) && set->gen) {
56 set->gen--;
57 cpumask_copy(&set->used, &set->mask);
61 /* Get the first CPU from the list of unused CPUs in a CPU set data structure */
62 static int cpu_mask_set_get_first(struct cpu_mask_set *set, cpumask_var_t diff)
66 if (!diff || !set)
69 _cpu_mask_set_gen_inc(set);
72 cpumask_andnot(diff, &set->mask, &set->used);
78 cpumask_set_cpu(cpu, &set->used);
83 static void cpu_mask_set_put(struct cpu_mask_set *set, int cpu)
85 if (!set)
88 cpumask_clear_cpu(cpu, &set->used);
89 _cpu_mask_set_gen_dec(set);
327 struct cpu_mask_set *set = dd->comp_vect;
341 _cpu_mask_set_gen_inc(set);
342 cpumask_andnot(available_cpus, &set->mask, &set->used);
358 cpumask_set_cpu(cpu, &set->used);
366 struct cpu_mask_set *set = dd->comp_vect;
371 cpu_mask_set_put(set, cpu);
542 "[%s] Completion vector affinity CPU set(s) %*pbl",
744 struct cpu_mask_set *set;
768 set = &entry->def_intr;
769 cpumask_set_cpu(cpu, &set->mask);
770 cpumask_set_cpu(cpu, &set->used);
781 cpumask_clear_cpu(old_cpu, &set->mask);
782 cpumask_clear_cpu(old_cpu, &set->used);
838 struct cpu_mask_set *set = NULL;
853 set = &entry->def_intr;
863 set = &entry->rcv_intr;
868 set = &entry->def_intr;
878 * CPU, which is set above. Skip accounting for it. Everything else
881 if (cpu == -1 && set) {
885 cpu = cpu_mask_set_get_first(set, diff);
922 struct cpu_mask_set *set = NULL;
930 set = &entry->def_intr;
941 set = &entry->rcv_intr;
945 set = &entry->def_intr;
952 if (set) {
953 cpumask_andnot(&set->used, &set->used, &msix->mask);
954 _cpu_mask_set_gen_dec(set);
1002 struct cpu_mask_set *set = &affinity->proc;
1006 * been set
1009 hfi1_cdbg(PROC, "PID %u %s affinity set to CPU %*pbl",
1013 * Mark the pre-set CPU as used. This is atomic so we don't
1017 cpumask_set_cpu(cpu, &set->used);
1019 } else if (current->nr_cpus_allowed < cpumask_weight(&set->mask)) {
1020 hfi1_cdbg(PROC, "PID %u %s affinity set to CPU set(s) %*pbl",
1032 * b) Fill real cores first, then HT cores (First set of HT
1033 * cores on all physical cores, then second set of HT core,
1065 _cpu_mask_set_gen_inc(set);
1084 cpumask_copy(hw_thread_mask, &set->mask);
1100 * (set->mask == set->used) before this loop.
1102 cpumask_andnot(diff, hw_thread_mask, &set->used);
1116 cpumask_andnot(available_mask, available_mask, &set->used);
1142 cpumask_andnot(available_mask, hw_thread_mask, &set->used);
1164 cpumask_set_cpu(cpu, &set->used);
1183 struct cpu_mask_set *set = &affinity->proc;
1189 cpu_mask_set_put(set, cpu);