]> Pileus Git - ~andy/linux/blobdiff - mm/page_alloc.c
Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[~andy/linux] / mm / page_alloc.c
index 6ea4966a6334cf49548a3eda420faf61d7607728..d2a8889b4c5896b2fd9a6c330f3963893fb317f9 100644 (file)
@@ -1222,10 +1222,10 @@ again:
                }
                spin_lock_irqsave(&zone->lock, flags);
                page = __rmqueue(zone, order, migratetype);
-               __mod_zone_page_state(zone, NR_FREE_PAGES, -(1 << order));
                spin_unlock(&zone->lock);
                if (!page)
                        goto failed;
+               __mod_zone_page_state(zone, NR_FREE_PAGES, -(1 << order));
        }
 
        __count_zone_vm_events(PGALLOC, zone, 1 << order);