aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mm/mlock.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/mm/mlock.c b/mm/mlock.c
index c483c5c20b4b..b562b5523a65 100644
--- a/mm/mlock.c
+++ b/mm/mlock.c
@@ -284,7 +284,7 @@ static void __munlock_pagevec(struct pagevec *pvec, struct zone *zone)
284{ 284{
285 int i; 285 int i;
286 int nr = pagevec_count(pvec); 286 int nr = pagevec_count(pvec);
287 int delta_munlocked; 287 int delta_munlocked = -nr;
288 struct pagevec pvec_putback; 288 struct pagevec pvec_putback;
289 int pgrescued = 0; 289 int pgrescued = 0;
290 290
@@ -304,6 +304,8 @@ static void __munlock_pagevec(struct pagevec *pvec, struct zone *zone)
304 continue; 304 continue;
305 else 305 else
306 __munlock_isolation_failed(page); 306 __munlock_isolation_failed(page);
307 } else {
308 delta_munlocked++;
307 } 309 }
308 310
309 /* 311 /*
@@ -315,7 +317,6 @@ static void __munlock_pagevec(struct pagevec *pvec, struct zone *zone)
315 pagevec_add(&pvec_putback, pvec->pages[i]); 317 pagevec_add(&pvec_putback, pvec->pages[i]);
316 pvec->pages[i] = NULL; 318 pvec->pages[i] = NULL;
317 } 319 }
318 delta_munlocked = -nr + pagevec_count(&pvec_putback);
319 __mod_zone_page_state(zone, NR_MLOCK, delta_munlocked); 320 __mod_zone_page_state(zone, NR_MLOCK, delta_munlocked);
320 spin_unlock_irq(zone_lru_lock(zone)); 321 spin_unlock_irq(zone_lru_lock(zone));
321 322