|
@@ -382,12 +382,8 @@ void arch_tlbbatch_flush(struct arch_tlbflush_unmap_batch *batch)
|
|
|
|
|
|
int cpu = get_cpu();
|
|
|
|
|
|
- if (cpumask_test_cpu(cpu, &batch->cpumask)) {
|
|
|
- count_vm_tlb_event(NR_TLB_LOCAL_FLUSH_ALL);
|
|
|
- local_flush_tlb();
|
|
|
- trace_tlb_flush(TLB_LOCAL_SHOOTDOWN, TLB_FLUSH_ALL);
|
|
|
- }
|
|
|
-
|
|
|
+ if (cpumask_test_cpu(cpu, &batch->cpumask))
|
|
|
+ flush_tlb_func_local(&info, TLB_LOCAL_SHOOTDOWN);
|
|
|
if (cpumask_any_but(&batch->cpumask, cpu) < nr_cpu_ids)
|
|
|
flush_tlb_others(&batch->cpumask, &info);
|
|
|
cpumask_clear(&batch->cpumask);
|