[PATCH v2] mm: fix warning in comparing enumerator

From: Naoya Horiguchi
Date: Tue Dec 01 2015 - 18:17:35 EST


On Tue, Dec 01, 2015 at 02:25:50PM -0800, David Rientjes wrote:
> On Tue, 1 Dec 2015, Naoya Horiguchi wrote:
>
> > I saw the following warning when building mmotm-2015-11-25-17-08.
> >
> > mm/page_alloc.c:4185:16: warning: comparison between 'enum zone_type' and 'enum <anonymous>' [-Wenum-compare]
> > for (i = 0; i < MAX_ZONELISTS; i++) {
> > ^
> >
> > enum zone_type is named like ZONE_* which is different from ZONELIST_*, so
> > we are somehow doing incorrect comparison. Just fixes it.
> >
> > Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
> > ---
> > mm/page_alloc.c | 3 +--
> > 1 files changed, 1 insertions(+), 2 deletions(-)
> >
> > diff --git mmotm-2015-11-25-17-08/mm/page_alloc.c mmotm-2015-11-25-17-08_patched/mm/page_alloc.c
> > index e267faa..b801e6f 100644
> > --- mmotm-2015-11-25-17-08/mm/page_alloc.c
> > +++ mmotm-2015-11-25-17-08_patched/mm/page_alloc.c
> > @@ -4174,8 +4174,7 @@ static void set_zonelist_order(void)
> >
> > static void build_zonelists(pg_data_t *pgdat)
> > {
> > - int j, node, load;
> > - enum zone_type i;
> > + int i, j, node, load;
> > nodemask_t used_mask;
> > int local_node, prev_node;
> > struct zonelist *zonelist;
>
> Obviously correct, but I would have thought we could just remove 'j' and
> used 'i' as our iterator through the entire function.

You're right, thank you.

Here is v2.

---
From: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Subject: [PATCH v2] mm: fix warning in comparing enumerator

I saw the following warning when building mmotm-2015-11-25-17-08.

mm/page_alloc.c:4185:16: warning: comparison between 'enum zone_type' and 'enum <anonymous>' [-Wenum-compare]
for (i = 0; i < MAX_ZONELISTS; i++) {
^

enum zone_type is named like ZONE_* which is different from ZONELIST_*, so
we are somehow doing incorrect comparison. Just fixes it.

Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
---
v1 -> v2:
- remove 'j'
---
mm/page_alloc.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index e267faad4649..54fcd0a60d5e 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -4174,8 +4174,7 @@ static void set_zonelist_order(void)

static void build_zonelists(pg_data_t *pgdat)
{
- int j, node, load;
- enum zone_type i;
+ int i, node, load;
nodemask_t used_mask;
int local_node, prev_node;
struct zonelist *zonelist;
@@ -4195,7 +4194,7 @@ static void build_zonelists(pg_data_t *pgdat)
nodes_clear(used_mask);

memset(node_order, 0, sizeof(node_order));
- j = 0;
+ i = 0;

while ((node = find_next_best_node(local_node, &used_mask)) >= 0) {
/*
@@ -4212,12 +4211,12 @@ static void build_zonelists(pg_data_t *pgdat)
if (order == ZONELIST_ORDER_NODE)
build_zonelists_in_node_order(pgdat, node);
else
- node_order[j++] = node; /* remember order */
+ node_order[i++] = node; /* remember order */
}

if (order == ZONELIST_ORDER_ZONE) {
/* calculate node order -- i.e., DMA last! */
- build_zonelists_in_zone_order(pgdat, j);
+ build_zonelists_in_zone_order(pgdat, i);
}

build_thisnode_zonelists(pgdat);
--
2.4.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/