diff --git a/[refs] b/[refs] index 56dde00890af..fe5ea3c74ebb 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2584e517320bd48dc8d20e38a2621a2dbe58fade +refs/heads/master: 2443462b0a04ef0f82ad48f4fd0ef4ac5b24c4b7 diff --git a/trunk/mm/vmscan.c b/trunk/mm/vmscan.c index 51f2df04d7cf..988aef933016 100644 --- a/trunk/mm/vmscan.c +++ b/trunk/mm/vmscan.c @@ -1298,14 +1298,11 @@ static void shrink_active_list(unsigned long nr_pages, struct zone *zone, } __mod_zone_page_state(zone, NR_LRU_BASE + lru, pgmoved); pgdeactivate += pgmoved; - if (buffer_heads_over_limit) { - spin_unlock_irq(&zone->lru_lock); - pagevec_strip(&pvec); - spin_lock_irq(&zone->lru_lock); - } __count_zone_vm_events(PGREFILL, zone, pgscanned); __count_vm_events(PGDEACTIVATE, pgdeactivate); spin_unlock_irq(&zone->lru_lock); + if (buffer_heads_over_limit) + pagevec_strip(&pvec); if (vm_swap_full()) pagevec_swap_free(&pvec);