Lines Matching refs:housekeeping
20 struct housekeeping {
25 static struct housekeeping housekeeping;
29 return !!(housekeeping.flags & BIT(type));
38 if (housekeeping.flags & BIT(type)) {
39 cpu = sched_numa_find_closest(housekeeping.cpumasks[type], smp_processor_id());
43 cpu = cpumask_any_and(housekeeping.cpumasks[type], cpu_online_mask);
49 * housekeeping CPU up.
62 if (housekeeping.flags & BIT(type))
63 return housekeeping.cpumasks[type];
71 if (housekeeping.flags & BIT(type))
72 set_cpus_allowed_ptr(t, housekeeping.cpumasks[type]);
79 if (housekeeping.flags & BIT(type))
80 return cpumask_test_cpu(cpu, housekeeping.cpumasks[type]);
89 if (!housekeeping.flags)
94 if (housekeeping.flags & HK_FLAG_KERNEL_NOISE)
97 for_each_set_bit(type, &housekeeping.flags, HK_TYPE_MAX) {
98 /* We need at least one CPU to handle housekeeping work */
99 WARN_ON_ONCE(cpumask_empty(housekeeping.cpumasks[type]));
107 alloc_bootmem_cpumask_var(&housekeeping.cpumasks[type]);
108 cpumask_copy(housekeeping.cpumasks[type],
118 if ((flags & HK_FLAG_KERNEL_NOISE) && !(housekeeping.flags & HK_FLAG_KERNEL_NOISE)) {
140 if (!housekeeping.flags) {
149 if (!housekeeping.flags) {
158 unsigned long iter_flags = flags & housekeeping.flags;
162 housekeeping.cpumasks[type])) {
168 iter_flags = flags & ~housekeeping.flags;
174 if ((flags & HK_FLAG_KERNEL_NOISE) && !(housekeeping.flags & HK_FLAG_KERNEL_NOISE))
177 housekeeping.flags |= flags;