diff options
Diffstat (limited to 'mm/internal.h')
-rw-r--r-- | mm/internal.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/mm/internal.h b/mm/internal.h index a25424a24e0c..e067984bafa0 100644 --- a/mm/internal.h +++ b/mm/internal.h | |||
@@ -201,7 +201,12 @@ static inline int mlocked_vma_newpage(struct vm_area_struct *vma, | |||
201 | return 0; | 201 | return 0; |
202 | 202 | ||
203 | if (!TestSetPageMlocked(page)) { | 203 | if (!TestSetPageMlocked(page)) { |
204 | mod_zone_page_state(page_zone(page), NR_MLOCK, | 204 | /* |
205 | * We use the irq-unsafe __mod_zone_page_stat because this | ||
206 | * counter is not modified from interrupt context, and the pte | ||
207 | * lock is held(spinlock), which implies preemption disabled. | ||
208 | */ | ||
209 | __mod_zone_page_state(page_zone(page), NR_MLOCK, | ||
205 | hpage_nr_pages(page)); | 210 | hpage_nr_pages(page)); |
206 | count_vm_event(UNEVICTABLE_PGMLOCKED); | 211 | count_vm_event(UNEVICTABLE_PGMLOCKED); |
207 | } | 212 | } |