Lines Matching refs:a
25 int affinity__setup(struct affinity *a) in affinity__setup() argument
29 a->orig_cpus = bitmap_zalloc(cpu_set_size * 8); in affinity__setup()
30 if (!a->orig_cpus) in affinity__setup()
32 sched_getaffinity(0, cpu_set_size, (cpu_set_t *)a->orig_cpus); in affinity__setup()
33 a->sched_cpus = bitmap_zalloc(cpu_set_size * 8); in affinity__setup()
34 if (!a->sched_cpus) { in affinity__setup()
35 zfree(&a->orig_cpus); in affinity__setup()
38 bitmap_zero((unsigned long *)a->sched_cpus, cpu_set_size); in affinity__setup()
39 a->changed = false; in affinity__setup()
49 void affinity__set(struct affinity *a, int cpu) in affinity__set() argument
61 a->changed = true; in affinity__set()
62 __set_bit(cpu, a->sched_cpus); in affinity__set()
68 sched_setaffinity(0, cpu_set_size, (cpu_set_t *)a->sched_cpus); in affinity__set()
69 __clear_bit(cpu, a->sched_cpus); in affinity__set()
72 static void __affinity__cleanup(struct affinity *a) in __affinity__cleanup() argument
76 if (a->changed) in __affinity__cleanup()
77 sched_setaffinity(0, cpu_set_size, (cpu_set_t *)a->orig_cpus); in __affinity__cleanup()
78 zfree(&a->sched_cpus); in __affinity__cleanup()
79 zfree(&a->orig_cpus); in __affinity__cleanup()
82 void affinity__cleanup(struct affinity *a) in affinity__cleanup() argument
84 if (a != NULL) in affinity__cleanup()
85 __affinity__cleanup(a); in affinity__cleanup()