diff options
Diffstat (limited to 'arch/mips/include/asm/hugetlb.h')
-rw-r--r-- | arch/mips/include/asm/hugetlb.h | 18 |
1 files changed, 2 insertions, 16 deletions
diff --git a/arch/mips/include/asm/hugetlb.h b/arch/mips/include/asm/hugetlb.h index ef99db994c2..c565b7c3f0b 100644 --- a/arch/mips/include/asm/hugetlb.h +++ b/arch/mips/include/asm/hugetlb.h | |||
@@ -70,7 +70,7 @@ static inline pte_t huge_ptep_get_and_clear(struct mm_struct *mm, | |||
70 | static inline void huge_ptep_clear_flush(struct vm_area_struct *vma, | 70 | static inline void huge_ptep_clear_flush(struct vm_area_struct *vma, |
71 | unsigned long addr, pte_t *ptep) | 71 | unsigned long addr, pte_t *ptep) |
72 | { | 72 | { |
73 | flush_tlb_page(vma, addr & huge_page_mask(hstate_vma(vma))); | 73 | flush_tlb_mm(vma->vm_mm); |
74 | } | 74 | } |
75 | 75 | ||
76 | static inline int huge_pte_none(pte_t pte) | 76 | static inline int huge_pte_none(pte_t pte) |
@@ -95,17 +95,7 @@ static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma, | |||
95 | pte_t *ptep, pte_t pte, | 95 | pte_t *ptep, pte_t pte, |
96 | int dirty) | 96 | int dirty) |
97 | { | 97 | { |
98 | int changed = !pte_same(*ptep, pte); | 98 | return ptep_set_access_flags(vma, addr, ptep, pte, dirty); |
99 | |||
100 | if (changed) { | ||
101 | set_pte_at(vma->vm_mm, addr, ptep, pte); | ||
102 | /* | ||
103 | * There could be some standard sized pages in there, | ||
104 | * get them all. | ||
105 | */ | ||
106 | flush_tlb_range(vma, addr, addr + HPAGE_SIZE); | ||
107 | } | ||
108 | return changed; | ||
109 | } | 99 | } |
110 | 100 | ||
111 | static inline pte_t huge_ptep_get(pte_t *ptep) | 101 | static inline pte_t huge_ptep_get(pte_t *ptep) |
@@ -122,8 +112,4 @@ static inline void arch_release_hugepage(struct page *page) | |||
122 | { | 112 | { |
123 | } | 113 | } |
124 | 114 | ||
125 | static inline void arch_clear_hugepage_flags(struct page *page) | ||
126 | { | ||
127 | } | ||
128 | |||
129 | #endif /* __ASM_HUGETLB_H */ | 115 | #endif /* __ASM_HUGETLB_H */ |