> On Jul 19, 2019, at 11:36 AM, Dave Hansen <dave.han...@intel.com> wrote: > > On 7/18/19 5:58 PM, Nadav Amit wrote: >> @@ -865,7 +893,7 @@ void arch_tlbbatch_flush(struct >> arch_tlbflush_unmap_batch *batch) >> if (cpumask_test_cpu(cpu, &batch->cpumask)) { >> lockdep_assert_irqs_enabled(); >> local_irq_disable(); >> - flush_tlb_func_local(&full_flush_tlb_info); >> + flush_tlb_func_local((void *)&full_flush_tlb_info); >> local_irq_enable(); >> } > > This looks like superfluous churn. Is it?
Unfortunately not, since full_flush_tlb_info is defined as const. Without it you would get: warning: passing argument 1 of ‘flush_tlb_func_local’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] And flush_tlb_func_local() should get (void *) argument since it is also used by the SMP infrastructure.