kernel-ark/arch/x86/mm
venkatesh.pallipadi@intel.com 3869c4aa18 x86, PAT: Changing memtype to WC ensuring no WB alias
As per SDM, there should not be any aliasing of a WC with any cacheable
type across CPUs. That is if one CPU is changing the identity map
memtype to _WC, no other CPU at the time of this change should not have a
TLB for this page that carries a WB attribute. SDM suggests to make the
page not present. But for that we will have to handle any page faults
that can potentially happen due to these pages being not present.

Other way to deal with this without having any WB mapping is to change
the page first to UC and then to WC. This ensures that we meet the SDM
requirement of no cacheable alais to WC page. This also has same or
lower overhead than marking the page not present and making it present
later.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
LKML-Reference: <20090409212708.797481000@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-04-10 13:55:47 +02:00
..
dump_pagetables.c
extable.c x86: uaccess: introduce try and catch framework 2009-01-23 17:17:36 -08:00
fault.c x86, mm: fault.c, simplify kmmio_fault(), cleanup 2009-02-22 10:24:18 +01:00
gup.c x86: Document get_user_pages_fast() 2009-04-10 13:14:08 +02:00
highmem_32.c x86, mm: fix misuse of debug_kmap_atomic 2009-04-02 16:37:04 +02:00
hugetlbpage.c
init_32.c Merge branch 'x86/core' into tracing/ftrace 2009-03-10 10:17:48 +01:00
init_64.c Merge branch 'x86/core' into tracing/ftrace 2009-03-10 10:17:48 +01:00
init.c x86: move save_mr() into .meminit.text 2009-03-13 02:37:18 +01:00
iomap_32.c x86: fix is_io_mapping_possible() build warning on i386 allnoconfig 2009-04-03 18:39:05 +02:00
ioremap.c x86, CPA: Change idmap attribute before ioremap attribute setup 2009-04-10 13:55:46 +02:00
k8topology_64.c x86: k8 numa register active regions later 2009-01-06 13:21:21 +01:00
kmmio.c x86: mmiotrace: quieten spurious warning message 2009-03-11 21:41:58 +01:00
Makefile x86: unify 32 and 64-bit node_to_cpumask_map 2009-03-13 14:49:52 +10:30
memtest.c x86: make "memtest" like "memtest=17" 2009-03-06 12:16:43 +01:00
mmap.c x86: update copyrights 2009-01-31 04:21:18 +01:00
mmio-mod.c x86: cpumask: x86 mmio-mod.c use cpumask_var_t for downed_cpus 2009-03-18 13:51:51 +01:00
numa_32.c x86: fix bootmem cross node for 32bit numa 2009-03-04 20:55:03 +01:00
numa_64.c cpumask: remove x86 cpumask_t uses. 2009-03-13 14:49:57 +10:30
numa.c cpumask: convert node_to_cpumask_map[] to cpumask_var_t 2009-03-13 14:35:31 +01:00
pageattr-test.c
pageattr.c x86, PAT: Changing memtype to WC ensuring no WB alias 2009-04-10 13:55:47 +02:00
pat.c Merge branches 'x86/apic', 'x86/asm', 'x86/cleanups', 'x86/debug', 'x86/kconfig', 'x86/mm', 'x86/ptrace', 'x86/setup' and 'x86/urgent'; commit 'v2.6.29-rc8' into x86/core 2009-03-14 16:25:40 +01:00
pf_in.c
pf_in.h
pgtable_32.c x86/32: no need to use set_pte_present in set_pte_vaddr 2009-03-19 14:04:18 +01:00
pgtable.c x86, fixmap: define reserve_top_address for x86_64 2009-02-27 20:57:47 -08:00
srat_32.c
srat_64.c Merge branch 'linus' into release 2009-04-05 02:14:15 -04:00
testmmiotrace.c x86: add far read test to testmmiotrace 2009-03-02 10:20:35 +01:00
tlb.c x86: add x2apic_wrmsr_fence() to x2apic flush tlb paths 2009-03-18 09:36:14 +01:00