From: Dave Hansen 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 Signed-off-by: Andrew Morton --- 25-akpm/mm/page_alloc.c | 2 -- 1 files changed, 2 deletions(-) diff -puN mm/page_alloc.c~x86-do-not-unnecessarily-memset-the-pgdats mm/page_alloc.c --- 25/mm/page_alloc.c~x86-do-not-unnecessarily-memset-the-pgdats 2005-02-28 16:37:27.000000000 -0800 +++ 25-akpm/mm/page_alloc.c 2005-02-28 16:37:28.000000000 -0800 @@ -1403,7 +1403,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; } @@ -1450,7 +1449,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; _