]> git.baikalelectronics.ru Git - kernel.git/commit
x86/tlb: add tlb_flushall_shift for specific CPU
authorAlex Shi <alex.shi@intel.com>
Thu, 28 Jun 2012 01:02:19 +0000 (09:02 +0800)
committerH. Peter Anvin <hpa@zytor.com>
Thu, 28 Jun 2012 02:29:10 +0000 (19:29 -0700)
commit00c450fe4fd07638c32d7e634e0aecd27c22d6a0
tree5f4db23b52be8eb74f95c35621373df790eacdd2
parent679b3a1af9159daf5eab7077ea7f019814713e79
x86/tlb: add tlb_flushall_shift for specific CPU

Testing show different CPU type(micro architectures and NUMA mode) has
different balance points between the TLB flush all and multiple invlpg.
And there also has cases the tlb flush change has no any help.

This patch give a interface to let x86 vendor developers have a chance
to set different shift for different CPU type.

like some machine in my hands, balance points is 16 entries on
Romely-EP; while it is at 8 entries on Bloomfield NHM-EP; and is 256 on
IVB mobile CPU. but on model 15 core2 Xeon using invlpg has nothing
help.

For untested machine, do a conservative optimization, same as NHM CPU.

Signed-off-by: Alex Shi <alex.shi@intel.com>
Link: http://lkml.kernel.org/r/1340845344-27557-5-git-send-email-alex.shi@intel.com
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
arch/x86/include/asm/processor.h
arch/x86/kernel/cpu/common.c
arch/x86/kernel/cpu/intel.c
arch/x86/mm/tlb.c
include/asm-generic/tlb.h