OSDN Git Service

x86/mm/cpa: Move flush_tlb_all()
authorPeter Zijlstra <peterz@infradead.org>
Wed, 19 Sep 2018 08:50:18 +0000 (10:50 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 27 Sep 2018 18:39:40 +0000 (20:39 +0200)
commitc0a759abf5a686a37b9204c13b7e281fe516c8f0
tree8dfc4de4e0afd4098adcaaf9b709b37707acdb37
parentc6185b1f21a47af94617fde3af7e803817b522a9
x86/mm/cpa: Move flush_tlb_all()

There is an atom errata, where we do a local TLB invalidate right
before we return and then do a global TLB invalidate.

Move the global invalidate up a little bit and avoid the local
invalidate entirely.

This does put the global invalidate under pgd_lock, but that shouldn't
matter.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Dave Hansen <dave.hansen@intel.com>
Cc: Bin Yang <bin.yang@intel.com>
Cc: Mark Gross <mark.gross@intel.com>
Link: https://lkml.kernel.org/r/20180919085947.882287392@infradead.org
arch/x86/mm/pageattr.c