]> err.no Git - linux-2.6/blobdiff - mm/page_alloc.c
[PATCH] readahead: backoff on I/O error
[linux-2.6] / mm / page_alloc.c
index 71a0b2a23f5b83c2ec6d7a6f49550208f10fb1ce..6c1174fcf52c9fd3fbac567ad19f6c42242ba849 100644 (file)
@@ -957,8 +957,7 @@ restart:
                goto got_pg;
 
        do {
-               if (cpuset_zone_allowed(*z, gfp_mask|__GFP_HARDWALL))
-                       wakeup_kswapd(*z, order);
+               wakeup_kswapd(*z, order);
        } while (*(++z));
 
        /*
@@ -1491,7 +1490,7 @@ void show_free_areas(void)
        }
 
        for_each_zone(zone) {
-               unsigned long nr, flags, order, total = 0;
+               unsigned long nr[MAX_ORDER], flags, order, total = 0;
 
                show_node(zone);
                printk("%s: ", zone->name);
@@ -1502,11 +1501,12 @@ void show_free_areas(void)
 
                spin_lock_irqsave(&zone->lock, flags);
                for (order = 0; order < MAX_ORDER; order++) {
-                       nr = zone->free_area[order].nr_free;
-                       total += nr << order;
-                       printk("%lu*%lukB ", nr, K(1UL) << order);
+                       nr[order] = zone->free_area[order].nr_free;
+                       total += nr[order] << order;
                }
                spin_unlock_irqrestore(&zone->lock, flags);
+               for (order = 0; order < MAX_ORDER; order++)
+                       printk("%lu*%lukB ", nr[order], K(1UL) << order);
                printk("= %lukB\n", K(total));
        }