On Mon, Jun 18, 2007 at 06:25:17AM -0400, Robert P. J. Day wrote: >On Mon, 18 Jun 2007, Denis Cheng wrote: > >> From: Denis Cheng <[EMAIL PROTECTED]> >> >> the explicit memset call could be optimized out by data initialization, >> thus all the fill working can be done by the compiler implicitly. >> >> Signed-off-by: Denis Cheng <[EMAIL PROTECTED]> >> >> --- >> Is there some comments on this? >> >> --- arch/x86_64/mm/init.c.orig 2007-06-07 10:08:04.000000000 +0800 >> +++ arch/x86_64/mm/init.c 2007-06-18 14:43:15.000000000 +0800 >> @@ -406,8 +406,7 @@ void __cpuinit zap_low_mappings(int cpu) >> #ifndef CONFIG_NUMA >> void __init paging_init(void) >> { >> - unsigned long max_zone_pfns[MAX_NR_ZONES]; >> - memset(max_zone_pfns, 0, sizeof(max_zone_pfns)); >> + unsigned long max_zone_pfns[MAX_NR_ZONES] = { 0, }; > >the drawback i see to this is that it's *visually* misleading. it >*appears* that what the programmer is trying to do is just initialize >the first element, not all of them -- regardless of the actual effect. >
C standard can guarantee all of them are initialized, and this is _not_ hard to understand for a good C programmer. Ack for Denis's change. Regards! - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/