Commit 7f384002 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] fix a VM lockup

Patch from Hugh Dickins.

There's a loop in there which goes infinite if the active list is full
of zero-ref pages.
parent f91ac63b
...@@ -555,10 +555,10 @@ refill_inactive_zone(struct zone *zone, const int nr_pages_in, ...@@ -555,10 +555,10 @@ refill_inactive_zone(struct zone *zone, const int nr_pages_in,
/* It is currently in pagevec_release() */ /* It is currently in pagevec_release() */
SetPageLRU(page); SetPageLRU(page);
list_add(&page->lru, &zone->active_list); list_add(&page->lru, &zone->active_list);
continue; } else {
page_cache_get(page);
list_add(&page->lru, &l_hold);
} }
page_cache_get(page);
list_add(&page->lru, &l_hold);
nr_pages--; nr_pages--;
} }
spin_unlock_irq(&zone->lru_lock); spin_unlock_irq(&zone->lru_lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment