Re: [RFC PATCH 03/14] sparc64: routines for basic mmu shared context structure management

From: David Miller
Date: Sat Dec 17 2016 - 22:07:24 EST


From: Mike Kravetz <mike.kravetz@xxxxxxxxxx>
Date: Fri, 16 Dec 2016 10:35:26 -0800

> +void smp_flush_shared_tlb_mm(struct mm_struct *mm)
> +{
> + u32 ctx = SHARED_CTX_HWBITS(mm->context);
> +
> + (void)get_cpu(); /* prevent preemption */

preempt_disable();

> +
> + smp_cross_call(&xcall_flush_tlb_mm, ctx, 0, 0);
> + __flush_tlb_mm(ctx, SECONDARY_CONTEXT);
> +
> + put_cpu();

preempt_enable();