diff options
Diffstat (limited to 'include/linux/mm.h')
| -rw-r--r-- | include/linux/mm.h | 8 | 
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/mm.h b/include/linux/mm.h index fcf9cc9d535f..5411de93a363 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -1744,11 +1744,15 @@ int __pud_alloc(struct mm_struct *mm, p4d_t *p4d, unsigned long address);  static inline void mm_inc_nr_puds(struct mm_struct *mm)  { +	if (mm_pud_folded(mm)) +		return;  	atomic_long_add(PTRS_PER_PUD * sizeof(pud_t), &mm->pgtables_bytes);  }  static inline void mm_dec_nr_puds(struct mm_struct *mm)  { +	if (mm_pud_folded(mm)) +		return;  	atomic_long_sub(PTRS_PER_PUD * sizeof(pud_t), &mm->pgtables_bytes);  }  #endif @@ -1768,11 +1772,15 @@ int __pmd_alloc(struct mm_struct *mm, pud_t *pud, unsigned long address);  static inline void mm_inc_nr_pmds(struct mm_struct *mm)  { +	if (mm_pmd_folded(mm)) +		return;  	atomic_long_add(PTRS_PER_PMD * sizeof(pmd_t), &mm->pgtables_bytes);  }  static inline void mm_dec_nr_pmds(struct mm_struct *mm)  { +	if (mm_pmd_folded(mm)) +		return;  	atomic_long_sub(PTRS_PER_PMD * sizeof(pmd_t), &mm->pgtables_bytes);  }  #endif  | 
