Lines Matching defs:cpumask

16 #include <linux/cpumask.h>
72 int cpu_index = seq_nr % cpumask_weight(pd->cpumask.pcpu);
74 return cpumask_nth(cpu_index, pd->cpumask.pcpu);
170 * run on. If it's not in the serial cpumask of @pinst
171 * (i.e. cpumask.cbcpu), this function selects a fallback CPU and if
196 if (!cpumask_test_cpu(*cb_cpu, pd->cpumask.cbcpu)) {
197 if (cpumask_empty(pd->cpumask.cbcpu))
201 cpu_index = *cb_cpu % cpumask_weight(pd->cpumask.cbcpu);
202 *cb_cpu = cpumask_nth(cpu_index, pd->cpumask.cbcpu);
297 cpu = cpumask_first(pd->cpumask.pcpu);
299 cpu = cpumask_next_wrap(cpu, pd->cpumask.pcpu);
396 /* Restrict parallel_wq workers to pd->cpumask.pcpu. */
397 cpumask_copy(attrs->cpumask, pinst->cpumask.pcpu);
521 for_each_cpu(cpu, pd->cpumask.cbcpu) {
535 for_each_cpu(cpu, pd->cpumask.pcpu) {
541 /* Allocate and initialize the internal cpumask dependend resources. */
561 if (!alloc_cpumask_var(&pd->cpumask.pcpu, GFP_KERNEL))
563 if (!alloc_cpumask_var(&pd->cpumask.cbcpu, GFP_KERNEL))
566 cpumask_and(pd->cpumask.pcpu, pinst->cpumask.pcpu, cpu_online_mask);
567 cpumask_and(pd->cpumask.cbcpu, pinst->cpumask.cbcpu, cpu_online_mask);
573 pd->cpu = cpumask_first(pd->cpumask.pcpu);
578 free_cpumask_var(pd->cpumask.pcpu);
591 free_cpumask_var(pd->cpumask.pcpu);
592 free_cpumask_var(pd->cpumask.cbcpu);
651 /* If cpumask contains no active cpu, we mark the instance as invalid. */
653 const struct cpumask *cpumask)
655 if (!cpumask_intersects(cpumask, cpu_online_mask)) {
682 cpumask_copy(pinst->cpumask.pcpu, pcpumask);
683 cpumask_copy(pinst->cpumask.cbcpu, cbcpumask);
694 * padata_set_cpumask - Sets specified by @cpumask_type cpumask to the value
695 * equivalent to @cpumask.
699 * @cpumask: the cpumask to use
704 cpumask_var_t cpumask)
706 struct cpumask *serial_mask, *parallel_mask;
714 serial_mask = pinst->cpumask.cbcpu;
715 parallel_mask = cpumask;
718 parallel_mask = pinst->cpumask.pcpu;
719 serial_mask = cpumask;
744 if (padata_validate_cpumask(pinst, pinst->cpumask.pcpu) &&
745 padata_validate_cpumask(pinst, pinst->cpumask.cbcpu))
757 if (!padata_validate_cpumask(pinst, pinst->cpumask.pcpu) ||
758 !padata_validate_cpumask(pinst, pinst->cpumask.cbcpu))
769 return cpumask_test_cpu(cpu, pinst->cpumask.pcpu) ||
770 cpumask_test_cpu(cpu, pinst->cpumask.cbcpu);
816 free_cpumask_var(pinst->cpumask.pcpu);
817 free_cpumask_var(pinst->cpumask.cbcpu);
844 struct cpumask *cpumask;
849 cpumask = pinst->cpumask.cbcpu;
851 cpumask = pinst->cpumask.pcpu;
854 nr_cpu_ids, cpumask_bits(cpumask));
898 * serial_cpumask [RW] - cpumask for serial workers
899 * parallel_cpumask [RW] - cpumask for parallel workers
976 if (!alloc_cpumask_var(&pinst->cpumask.pcpu, GFP_KERNEL))
978 if (!alloc_cpumask_var(&pinst->cpumask.cbcpu, GFP_KERNEL)) {
979 free_cpumask_var(pinst->cpumask.pcpu);
985 cpumask_copy(pinst->cpumask.pcpu, cpu_possible_mask);
986 cpumask_copy(pinst->cpumask.cbcpu, cpu_possible_mask);
1008 free_cpumask_var(pinst->cpumask.pcpu);
1009 free_cpumask_var(pinst->cpumask.cbcpu);