From: Andy Whitcroft As pointed out by Christop Lameter it should not be possible for a page to change its active/inactive state without taking the lru_lock. Reinstate this safety net. Signed-off-by: Andy Whitcroft Acked-by: Mel Gorman Signed-off-by: Andrew Morton --- mm/vmscan.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff -puN mm/vmscan.c~lumpy-back-out-removal-of-active-check-in-isolate_lru_pages mm/vmscan.c --- a/mm/vmscan.c~lumpy-back-out-removal-of-active-check-in-isolate_lru_pages +++ a/mm/vmscan.c @@ -683,10 +683,13 @@ static unsigned long isolate_lru_pages(u nr_taken++; break; - default: - /* page is being freed, or is a missmatch */ + case -EBUSY: + /* else it is being freed elsewhere */ list_move(&page->lru, src); continue; + + default: + BUG(); } if (!order) _