mm_cpumask
cpumask_set_cpu(cpu, mm_cpumask(next));
cpumask_set_cpu(cpu, mm_cpumask(mm));
on_each_cpu_mask(mm_cpumask(mm), (smp_call_func_t)local_flush_tlb_mm,
on_each_cpu_mask(mm_cpumask(vma->vm_mm), ipi_flush_tlb_page, &ta, 1);
on_each_cpu_mask(mm_cpumask(vma->vm_mm), ipi_flush_tlb_range, &ta, 1);
on_each_cpu_mask(mm_cpumask(vma->vm_mm), ipi_flush_pmd_tlb_range, &ta, 1);
if (cpumask_test_cpu(smp_processor_id(), mm_cpumask(mm)))
if (!mm || cpumask_test_cpu(smp_processor_id(), mm_cpumask(mm)))
if (!mm || cpumask_test_cpu(smp_processor_id(), mm_cpumask(mm))) {
!cpumask_empty(mm_cpumask(next)) &&
!cpumask_test_cpu(cpu, mm_cpumask(next)))
if (!cpumask_test_and_set_cpu(cpu, mm_cpumask(next)) || prev != next) {
cpumask_clear_cpu(cpu, mm_cpumask(prev));
if (cpumask_test_cpu(smp_processor_id(), mm_cpumask(mm))) {
cpumask_test_cpu(smp_processor_id(), mm_cpumask(vma->vm_mm))) {
cpumask_set_cpu(cpu, mm_cpumask(mm));
on_each_cpu_mask(mm_cpumask(mm), ipi_flush_tlb_mm, mm, 1);
on_each_cpu_mask(mm_cpumask(vma->vm_mm), ipi_flush_tlb_page,
on_each_cpu_mask(mm_cpumask(vma->vm_mm), ipi_flush_tlb_range,
cpumask_clear(mm_cpumask(mm));
cpumask_set_cpu(cpu, mm_cpumask(mm));
if (cpumask_test_cpu(smp_processor_id(), mm_cpumask(vma->vm_mm)))
cpumask_andnot(&others, mm_cpumask(mm), cpumask_of(cpu));
cpumask_set_cpu(cpu, mm_cpumask(mm));
cpumask_clear(mm_cpumask(mm));
cpumask_set_cpu(cpu, mm_cpumask(mm));
cpumask_set_cpu(cpu, mm_cpumask(next));
cpumask_clear_cpu(cpu, mm_cpumask(mm));
on_each_cpu_mask(mm_cpumask(mm), flush_tlb_mm_ipi, mm, 1);
on_each_cpu_mask(mm_cpumask(mm), flush_tlb_range_ipi, &fd, 1);
on_each_cpu_mask(mm_cpumask(vma->vm_mm), flush_tlb_page_ipi, &fd, 1);
cpumask_clear_cpu(cpu, mm_cpumask(vma->vm_mm));
cpumask_clear_cpu(cpu, mm_cpumask(mm));
cpumask_clear_cpu(cpu, mm_cpumask(mm));
cpumask_clear_cpu(cpu, mm_cpumask(prev));
cpumask_set_cpu(cpu, mm_cpumask(next));
} else if (cpumask_test_cpu(cpu, mm_cpumask(mm))) {
mask = *mm_cpumask(vma->vm_mm);
cpumask_set_cpu(cpu, mm_cpumask(mm));
smp_flush_tlb_mm(mm_cpumask(mm), mm);
smp_flush_tlb_range(mm_cpumask(vma->vm_mm), uaddr, uaddr + PAGE_SIZE);
const struct cpumask *cmask = vma ? mm_cpumask(vma->vm_mm)
cpumask_clear_cpu(cpu, mm_cpumask(prev));
cpumask_set_cpu(cpu, mm_cpumask(next));
if (cpumask_test_cpu(cpu, mm_cpumask(mm))) { \
cpumask_clear_cpu(cpu, mm_cpumask(mm)); \
return cpumask_subset(mm_cpumask(mm),
return cpumask_test_cpu(smp_processor_id(), mm_cpumask(mm));
return cpumask_equal(mm_cpumask(mm),
VM_WARN_ON(cpumask_test_cpu(smp_processor_id(), mm_cpumask(&init_mm)));
cpumask_set_cpu(smp_processor_id(), mm_cpumask(&init_mm));
VM_WARN_ON(cpumask_test_cpu(smp_processor_id(), mm_cpumask(&init_mm)));
cpumask_set_cpu(cpu, mm_cpumask(&init_mm));
VM_WARN_ON_ONCE(!cpumask_test_cpu(cpu, mm_cpumask(&init_mm)));
cpumask_clear_cpu(cpu, mm_cpumask(&init_mm));
smp_call_function_many(mm_cpumask(mm), do_serialize, mm, 1);
struct cpumask *cpus = mm_cpumask(mm);
struct cpumask *cpus = mm_cpumask(mm);
struct cpumask *cpus = mm_cpumask(mm);
if (cpumask_test_cpu(cpu, mm_cpumask(mm))) {
cpumask_clear_cpu(cpu, mm_cpumask(mm));
smp_call_function_many(mm_cpumask(mm), do_exit_flush_lazy_tlb,
if (active_cpus == 1 && cpumask_test_cpu(cpu, mm_cpumask(mm))) {
if (cpumask_test_cpu(cpu, mm_cpumask(mm)))
VM_WARN_ON_ONCE(!cpumask_test_cpu(cpu, mm_cpumask(prev)));
if (!cpumask_test_cpu(cpu, mm_cpumask(next))) {
cpumask_set_cpu(cpu, mm_cpumask(next));
for_each_cpu(cpu, mm_cpumask(mm)) {
smp_call_function_many(mm_cpumask(mm),
cpu_mask = mm_cpumask(mm);
bitmap_fill(cpumask_bits(mm_cpumask(mm)), nr);
cpumask_andnot(&others, mm_cpumask(mm), cpumask_of(cpu));
cpumask_set_cpu(cpu, mm_cpumask(next));
cpumask_clear_cpu(cpu, mm_cpumask(prev));
__flush_tlb_range(mm, mm_cpumask(mm), 0, FLUSH_TLB_MAX_SIZE, PAGE_SIZE);
__flush_tlb_range(mm, mm_cpumask(mm), start, end - start, page_size);
__flush_tlb_range(vma->vm_mm, mm_cpumask(vma->vm_mm),
__flush_tlb_range(vma->vm_mm, mm_cpumask(vma->vm_mm),
__flush_tlb_range(vma->vm_mm, mm_cpumask(vma->vm_mm),
__flush_tlb_range(vma->vm_mm, mm_cpumask(vma->vm_mm),
cpumask_or(&batch->cpumask, &batch->cpumask, mm_cpumask(mm));
cpumask_set_cpu(smp_processor_id(), mm_cpumask(mm));
cpumask_set_cpu(smp_processor_id(), mm_cpumask(next));
cpumask_copy(mm_cpumask(mm), &mm->context.cpu_attach_mask);
cpumask_set_cpu(cpu, mm_cpumask(&init_mm));
cpumask_clear_cpu(cpu, mm_cpumask(&init_mm));
cpumask_set_cpu(0, mm_cpumask(&init_mm));
if (cpumask_equal(mm_cpumask(mm), cpumask_of(smp_processor_id())))
cpumask_equal(mm_cpumask(mm), cpumask_of(smp_processor_id())))
cpumask_equal(mm_cpumask(mm), cpumask_of(smp_processor_id())))
cpumask_equal(mm_cpumask(mm), cpumask_of(smp_processor_id())))
cpumask_set_cpu(cpu, mm_cpumask(next));
if (!cpumask_test_and_set_cpu(cpu, mm_cpumask(next)))
on_each_cpu_mask(mm_cpumask(current->mm),
if (!ctx_valid || !cpumask_test_cpu(cpu, mm_cpumask(mm))) {
cpumask_set_cpu(cpu, mm_cpumask(mm));
cpumask_set_cpu(smp_processor_id(), mm_cpumask(next->active_mm)); \
mm_cpumask(mm));
smp_call_function_many(mm_cpumask(mm), tlb_pending_func,
mm_cpumask(mm));
smp_call_function_many(mm_cpumask(mm), tsb_sync, mm, 1);
cpumask_clear(mm_cpumask(mm));
return cpumask_any_but(mm_cpumask(mm), smp_processor_id()) < nr_cpu_ids;
cpumask_copy(mm_cpumask(mm),
on_each_cpu_mask(mm_cpumask(mm), cr4_update_pce, NULL, 1);
on_each_cpu_mask(mm_cpumask(mm), cr4_update_pce, NULL, 1);
if (cpumask_any_but(mm_cpumask(mm), get_cpu()) < nr_cpu_ids)
cpumask_or(&batch->cpumask, &batch->cpumask, mm_cpumask(mm));
cpumask_or(cpumask, cpumask, mm_cpumask(encl_mm->mm));
on_each_cpu_mask(mm_cpumask(mm), flush_ldt, mm, true);
on_each_cpu_mask(mm_cpumask(mm), enable_lam_func, mm, true);
cpumask_clear_cpu(smp_processor_id(), mm_cpumask(this_cpu_read(cpu_tlbstate.loaded_mm)));
cpumask_clear_cpu(raw_smp_processor_id(), mm_cpumask(f->mm));
} else if (cpumask_any_but(mm_cpumask(mm), cpu) < nr_cpu_ids) {
flush_tlb_multi(mm_cpumask(mm), info);
if (cpumask_weight(mm_cpumask(mm)) <= threshold)
for_each_cpu(cpu, mm_cpumask(mm)) {
for_each_cpu(cpu, mm_cpumask(mm)) {
flush_tlb_multi(mm_cpumask(info->mm), info);
!cpumask_test_cpu(cpu, mm_cpumask(next))))
cpumask_set_cpu(cpu, mm_cpumask(next));
if (next != &init_mm && !cpumask_test_cpu(cpu, mm_cpumask(next)))
cpumask_set_cpu(cpu, mm_cpumask(next));
cpumask_set_cpu(cpu, mm_cpumask(mm));
on_each_cpu_mask(mm_cpumask(mm),
on_each_cpu_mask(mm_cpumask(mm),
#define arch_clear_mm_cpumask_cpu(cpu, mm) cpumask_clear_cpu(cpu, mm_cpumask(mm))
on_each_cpu_mask(mm_cpumask(mm), do_shoot_lazy_tlb, (void *)mm, 1);