pgtable-generic.c (8c57a5e7b2820f349c95b8c8393fec1e0f4070d2) | pgtable-generic.c (a00cc7d9dd93d66a3fb83fc52aa57a4bec51c517) |
---|---|
1/* 2 * mm/pgtable-generic.c 3 * 4 * Generic pgtable methods declared in asm-generic/pgtable.h 5 * 6 * Copyright (C) 2010 Linus Torvalds 7 */ 8 --- 109 unchanged lines hidden (view full) --- 118{ 119 pmd_t pmd; 120 VM_BUG_ON(address & ~HPAGE_PMD_MASK); 121 VM_BUG_ON(!pmd_trans_huge(*pmdp) && !pmd_devmap(*pmdp)); 122 pmd = pmdp_huge_get_and_clear(vma->vm_mm, address, pmdp); 123 flush_pmd_tlb_range(vma, address, address + HPAGE_PMD_SIZE); 124 return pmd; 125} | 1/* 2 * mm/pgtable-generic.c 3 * 4 * Generic pgtable methods declared in asm-generic/pgtable.h 5 * 6 * Copyright (C) 2010 Linus Torvalds 7 */ 8 --- 109 unchanged lines hidden (view full) --- 118{ 119 pmd_t pmd; 120 VM_BUG_ON(address & ~HPAGE_PMD_MASK); 121 VM_BUG_ON(!pmd_trans_huge(*pmdp) && !pmd_devmap(*pmdp)); 122 pmd = pmdp_huge_get_and_clear(vma->vm_mm, address, pmdp); 123 flush_pmd_tlb_range(vma, address, address + HPAGE_PMD_SIZE); 124 return pmd; 125} |
126 127#ifdef CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD 128pud_t pudp_huge_clear_flush(struct vm_area_struct *vma, unsigned long address, 129 pud_t *pudp) 130{ 131 pud_t pud; 132 133 VM_BUG_ON(address & ~HPAGE_PUD_MASK); 134 VM_BUG_ON(!pud_trans_huge(*pudp) && !pud_devmap(*pudp)); 135 pud = pudp_huge_get_and_clear(vma->vm_mm, address, pudp); 136 flush_pud_tlb_range(vma, address, address + HPAGE_PUD_SIZE); 137 return pud; 138} |
|
126#endif | 139#endif |
140#endif |
|
127 128#ifndef __HAVE_ARCH_PGTABLE_DEPOSIT 129void pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, 130 pgtable_t pgtable) 131{ 132 assert_spin_locked(pmd_lockptr(mm, pmdp)); 133 134 /* FIFO */ --- 56 unchanged lines hidden --- | 141 142#ifndef __HAVE_ARCH_PGTABLE_DEPOSIT 143void pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, 144 pgtable_t pgtable) 145{ 146 assert_spin_locked(pmd_lockptr(mm, pmdp)); 147 148 /* FIFO */ --- 56 unchanged lines hidden --- |