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

H. Peter Anvin
2012-03-23T00:20:31Z

On 03/22/2012 05:01 PM, Suresh Siddha wrote:
>
> Agreed. Updated patch appended. Thanks.
> ---
> From: Suresh Siddha <suresh.b.siddha@intel.com>
> 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@intel.com>
>

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.