[RFC][PATCH 5/5] do not unnecessarily memset the pgdats

From: Dave Hansen
Date: Tue Jan 25 2005 - 19:33:48 EST



Both the pgdats and the struct zonelist are zeroed unnecessarily.
The zonelist is a member of the pgdat, so any time the pgdat is
cleared, so is the zonelist. All of the architectures present a
zeroed pgdat to the generic code, so it's not necessary to set it
again.

Not clearing it like this allows the functions to be reused by
the memory hotplug code. The only architecture which has a
dependence on these clears is i386. The previous patch in this
series fixed that up.

Signed-off-by: Dave Hansen <haveblue@xxxxxxxxxx>
---

arch/i386/mm/init.c | 0
memhotplug-dave/mm/page_alloc.c | 2 --
2 files changed, 2 deletions(-)

diff -puN arch/i386/kernel/setup.c~A2.2-dont-memset-pgdats arch/i386/kernel/setup.c
diff -puN arch/i386/mm/discontig.c~A2.2-dont-memset-pgdats arch/i386/mm/discontig.c
diff -puN include/asm-i386/mmzone.h~A2.2-dont-memset-pgdats include/asm-i386/mmzone.h
diff -puN mm/page_alloc.c~A2.2-dont-memset-pgdats mm/page_alloc.c
--- memhotplug/mm/page_alloc.c~A2.2-dont-memset-pgdats 2005-01-25 14:23:52.000000000 -0800
+++ memhotplug-dave/mm/page_alloc.c 2005-01-25 14:23:52.000000000 -0800
@@ -1488,7 +1488,6 @@ static void __init build_zonelists(pg_da
/* initialize zonelists */
for (i = 0; i < GFP_ZONETYPES; i++) {
zonelist = pgdat->node_zonelists + i;
- memset(zonelist, 0, sizeof(*zonelist));
zonelist->zones[0] = NULL;
}

@@ -1535,7 +1534,6 @@ static void __init build_zonelists(pg_da
struct zonelist *zonelist;

zonelist = pgdat->node_zonelists + i;
- memset(zonelist, 0, sizeof(*zonelist));

j = 0;
k = ZONE_NORMAL;
diff -puN arch/i386/mm/init.c~A2.2-dont-memset-pgdats arch/i386/mm/init.c
_
-
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/