|
@@ -284,7 +284,7 @@ static void __munlock_pagevec(struct pagevec *pvec, struct zone *zone)
|
|
|
{
|
|
|
int i;
|
|
|
int nr = pagevec_count(pvec);
|
|
|
- int delta_munlocked;
|
|
|
+ int delta_munlocked = -nr;
|
|
|
struct pagevec pvec_putback;
|
|
|
int pgrescued = 0;
|
|
|
|
|
@@ -304,6 +304,8 @@ static void __munlock_pagevec(struct pagevec *pvec, struct zone *zone)
|
|
|
continue;
|
|
|
else
|
|
|
__munlock_isolation_failed(page);
|
|
|
+ } else {
|
|
|
+ delta_munlocked++;
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -315,7 +317,6 @@ static void __munlock_pagevec(struct pagevec *pvec, struct zone *zone)
|
|
|
pagevec_add(&pvec_putback, pvec->pages[i]);
|
|
|
pvec->pages[i] = NULL;
|
|
|
}
|
|
|
- delta_munlocked = -nr + pagevec_count(&pvec_putback);
|
|
|
__mod_zone_page_state(zone, NR_MLOCK, delta_munlocked);
|
|
|
spin_unlock_irq(zone_lru_lock(zone));
|
|
|
|