On 06/13/2017 09:56 PM, Andy Lutomirski wrote: > - if (cpumask_test_cpu(cpu, &batch->cpumask)) > + if (cpumask_test_cpu(cpu, &batch->cpumask)) { > + local_irq_disable(); > flush_tlb_func_local(&info, TLB_LOCAL_SHOOTDOWN); > + local_irq_enable(); > + } > +
Could you talk a little about why this needs to be local_irq_disable() and not preempt_disable()? Is it about the case where somebody is trying to call flush_tlb_func_*() from an interrupt handler?