Re: [patch] x86, tlb: switch cr3 in leave_mm() only when needed

From: H. Peter Anvin
Date: Thu Mar 22 2012 - 20:20:33 EST


On 03/22/2012 05:01 PM, Suresh Siddha wrote:
>
> Agreed. Updated patch appended. Thanks.
> ---
> From: Suresh Siddha <suresh.b.siddha@xxxxxxxxx>
> Subject: x86, tlb: switch cr3 in leave_mm() only when needed
>
> Currently leave_mm() unconditionally switches the cr3 to swapper_pg_dir.
> But there is no need to change the cr3, if we already left that mm.
>
> intel_idle() for example calls leave_mm() on every deep c-state entry where
> the CPU flushes the TLB for us. Similarly flush_tlb_all() was also calling
> leave_mm() whenever the TLB is in LAZY state. Both these paths will be
> improved with this change.
>
> Signed-off-by: Suresh Siddha <suresh.b.siddha@xxxxxxxxx>
>

Looks great to me. Linus, do you want this one later in the window if
it tests out OK between now and then, or is it too late?

-hpa

--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/