mm, treewide: redefine MAX_ORDER sanely
[linux-2.6-block.git] / mm / vmstat.c
index 1ea6a5ce1c4161b5f41387a82e64c2446ad93a50..b7307627772d7f6b21fec2cf53b1c08fb692792a 100644 (file)
@@ -1055,7 +1055,7 @@ static void fill_contig_page_info(struct zone *zone,
        info->free_blocks_total = 0;
        info->free_blocks_suitable = 0;
 
-       for (order = 0; order < MAX_ORDER; order++) {
+       for (order = 0; order <= MAX_ORDER; order++) {
                unsigned long blocks;
 
                /*
@@ -1088,7 +1088,7 @@ static int __fragmentation_index(unsigned int order, struct contig_page_info *in
 {
        unsigned long requested = 1UL << order;
 
-       if (WARN_ON_ONCE(order >= MAX_ORDER))
+       if (WARN_ON_ONCE(order > MAX_ORDER))
                return 0;
 
        if (!info->free_blocks_total)
@@ -1462,7 +1462,7 @@ static void frag_show_print(struct seq_file *m, pg_data_t *pgdat,
        int order;
 
        seq_printf(m, "Node %d, zone %8s ", pgdat->node_id, zone->name);
-       for (order = 0; order < MAX_ORDER; ++order)
+       for (order = 0; order <= MAX_ORDER; ++order)
                /*
                 * Access to nr_free is lockless as nr_free is used only for
                 * printing purposes. Use data_race to avoid KCSAN warning.
@@ -1491,7 +1491,7 @@ static void pagetypeinfo_showfree_print(struct seq_file *m,
                                        pgdat->node_id,
                                        zone->name,
                                        migratetype_names[mtype]);
-               for (order = 0; order < MAX_ORDER; ++order) {
+               for (order = 0; order <= MAX_ORDER; ++order) {
                        unsigned long freecount = 0;
                        struct free_area *area;
                        struct list_head *curr;
@@ -1531,7 +1531,7 @@ static void pagetypeinfo_showfree(struct seq_file *m, void *arg)
 
        /* Print header */
        seq_printf(m, "%-43s ", "Free pages count per migrate type at order");
-       for (order = 0; order < MAX_ORDER; ++order)
+       for (order = 0; order <= MAX_ORDER; ++order)
                seq_printf(m, "%6d ", order);
        seq_putc(m, '\n');
 
@@ -2153,7 +2153,7 @@ static void unusable_show_print(struct seq_file *m,
        seq_printf(m, "Node %d, zone %8s ",
                                pgdat->node_id,
                                zone->name);
-       for (order = 0; order < MAX_ORDER; ++order) {
+       for (order = 0; order <= MAX_ORDER; ++order) {
                fill_contig_page_info(zone, order, &info);
                index = unusable_free_index(order, &info);
                seq_printf(m, "%d.%03d ", index / 1000, index % 1000);
@@ -2205,7 +2205,7 @@ static void extfrag_show_print(struct seq_file *m,
        seq_printf(m, "Node %d, zone %8s ",
                                pgdat->node_id,
                                zone->name);
-       for (order = 0; order < MAX_ORDER; ++order) {
+       for (order = 0; order <= MAX_ORDER; ++order) {
                fill_contig_page_info(zone, order, &info);
                index = __fragmentation_index(order, &info);
                seq_printf(m, "%2d.%03d ", index / 1000, index % 1000);