Re: [PATCH v2 05/10] x86/mm: Rework lazy TLB mode and TLB freshness tracking

From: Dave Hansen
Date: Wed Jun 14 2017 - 18:33:57 EST


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?