diff options
Diffstat (limited to 'arch/x86/mm')
-rw-r--r-- | arch/x86/mm/fault.c | 6 | ||||
-rw-r--r-- | arch/x86/mm/highmem_32.c | 2 | ||||
-rw-r--r-- | arch/x86/mm/iomap_32.c | 1 | ||||
-rw-r--r-- | arch/x86/mm/pageattr.c | 14 |
4 files changed, 2 insertions, 21 deletions
diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c index b9ca6d767dbb..5ec7ae366615 100644 --- a/arch/x86/mm/fault.c +++ b/arch/x86/mm/fault.c | |||
@@ -201,12 +201,10 @@ static inline pmd_t *vmalloc_sync_one(pgd_t *pgd, unsigned long address) | |||
201 | if (!pmd_present(*pmd_k)) | 201 | if (!pmd_present(*pmd_k)) |
202 | return NULL; | 202 | return NULL; |
203 | 203 | ||
204 | if (!pmd_present(*pmd)) { | 204 | if (!pmd_present(*pmd)) |
205 | set_pmd(pmd, *pmd_k); | 205 | set_pmd(pmd, *pmd_k); |
206 | arch_flush_lazy_mmu_mode(); | 206 | else |
207 | } else { | ||
208 | BUG_ON(pmd_page(*pmd) != pmd_page(*pmd_k)); | 207 | BUG_ON(pmd_page(*pmd) != pmd_page(*pmd_k)); |
209 | } | ||
210 | 208 | ||
211 | return pmd_k; | 209 | return pmd_k; |
212 | } | 210 | } |
diff --git a/arch/x86/mm/highmem_32.c b/arch/x86/mm/highmem_32.c index 8126e8d1a2a4..58f621e81919 100644 --- a/arch/x86/mm/highmem_32.c +++ b/arch/x86/mm/highmem_32.c | |||
@@ -44,7 +44,6 @@ void *kmap_atomic_prot(struct page *page, enum km_type type, pgprot_t prot) | |||
44 | vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx); | 44 | vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx); |
45 | BUG_ON(!pte_none(*(kmap_pte-idx))); | 45 | BUG_ON(!pte_none(*(kmap_pte-idx))); |
46 | set_pte(kmap_pte-idx, mk_pte(page, prot)); | 46 | set_pte(kmap_pte-idx, mk_pte(page, prot)); |
47 | arch_flush_lazy_mmu_mode(); | ||
48 | 47 | ||
49 | return (void *)vaddr; | 48 | return (void *)vaddr; |
50 | } | 49 | } |
@@ -74,7 +73,6 @@ void kunmap_atomic(void *kvaddr, enum km_type type) | |||
74 | #endif | 73 | #endif |
75 | } | 74 | } |
76 | 75 | ||
77 | arch_flush_lazy_mmu_mode(); | ||
78 | pagefault_enable(); | 76 | pagefault_enable(); |
79 | } | 77 | } |
80 | 78 | ||
diff --git a/arch/x86/mm/iomap_32.c b/arch/x86/mm/iomap_32.c index 8056545e2d39..fe6f84ca121e 100644 --- a/arch/x86/mm/iomap_32.c +++ b/arch/x86/mm/iomap_32.c | |||
@@ -82,7 +82,6 @@ iounmap_atomic(void *kvaddr, enum km_type type) | |||
82 | if (vaddr == __fix_to_virt(FIX_KMAP_BEGIN+idx)) | 82 | if (vaddr == __fix_to_virt(FIX_KMAP_BEGIN+idx)) |
83 | kpte_clear_flush(kmap_pte-idx, vaddr); | 83 | kpte_clear_flush(kmap_pte-idx, vaddr); |
84 | 84 | ||
85 | arch_flush_lazy_mmu_mode(); | ||
86 | pagefault_enable(); | 85 | pagefault_enable(); |
87 | } | 86 | } |
88 | EXPORT_SYMBOL_GPL(iounmap_atomic); | 87 | EXPORT_SYMBOL_GPL(iounmap_atomic); |
diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c index e17efed088c5..6ce9518fe2ac 100644 --- a/arch/x86/mm/pageattr.c +++ b/arch/x86/mm/pageattr.c | |||
@@ -839,13 +839,6 @@ static int change_page_attr_set_clr(unsigned long *addr, int numpages, | |||
839 | 839 | ||
840 | vm_unmap_aliases(); | 840 | vm_unmap_aliases(); |
841 | 841 | ||
842 | /* | ||
843 | * If we're called with lazy mmu updates enabled, the | ||
844 | * in-memory pte state may be stale. Flush pending updates to | ||
845 | * bring them up to date. | ||
846 | */ | ||
847 | arch_flush_lazy_mmu_mode(); | ||
848 | |||
849 | cpa.vaddr = addr; | 842 | cpa.vaddr = addr; |
850 | cpa.pages = pages; | 843 | cpa.pages = pages; |
851 | cpa.numpages = numpages; | 844 | cpa.numpages = numpages; |
@@ -890,13 +883,6 @@ static int change_page_attr_set_clr(unsigned long *addr, int numpages, | |||
890 | } else | 883 | } else |
891 | cpa_flush_all(cache); | 884 | cpa_flush_all(cache); |
892 | 885 | ||
893 | /* | ||
894 | * If we've been called with lazy mmu updates enabled, then | ||
895 | * make sure that everything gets flushed out before we | ||
896 | * return. | ||
897 | */ | ||
898 | arch_flush_lazy_mmu_mode(); | ||
899 | |||
900 | out: | 886 | out: |
901 | return ret; | 887 | return ret; |
902 | } | 888 | } |