Messages in this thread | | | Date | Mon, 18 Jun 2007 22:24:32 +0800 | From | WANG Cong <> | Subject | Re: [PATCH] trivial: the memset operation on a automatic array variable should be optimized out by data initialization |
| |
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 <crquan@gmail.com> >> >> 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 <crquan@gmail.com> >> >> --- >> 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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |