From mboxrd@z Thu Jan 1 00:00:00 1970 From: "H. Peter Anvin" Subject: Re: [PATCH 3/3] x86: OLPC: speed up device tree creation during boot (v2) Date: Thu, 18 Nov 2010 09:48:59 -0800 Message-ID: <4CE5670B.1060300@zytor.com> References: <20101111214546.4e573cad@queued.net> <20101112002704.50c629e2@queued.net> <20101114095013.GB24206@elte.hu> <4CE0B54E.6000101@zytor.com> <20101115070254.GA25243@elte.hu> <4CE17133.2050101@zytor.com> <20101118083420.GC26398@elte.hu> <1290078135.22575.4.camel@concordia> <4CE54064.6010702@zytor.com> <20101118094153.4515cbc2@queued.net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20101118094153.4515cbc2-pFFUokh25LWsTnJN9+BGXg@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: devicetree-discuss-bounces+gldd-devicetree-discuss=m.gmane.org-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org Errors-To: devicetree-discuss-bounces+gldd-devicetree-discuss=m.gmane.org-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org To: Andres Salomon Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Milton Miller , Ingo Molnar , Ingo Molnar , Thomas Gleixner List-Id: devicetree@vger.kernel.org On 11/18/2010 09:41 AM, Andres Salomon wrote: >> >> No, sorry, this sounds like a personal preference that is well out of >> line with the vast majority of C programmers I've ever come across, >> not just in the Linux kernel world but outside of it. > > > This is actually one of the reasons I specifically like initialized > static variables (inside of functions). Take the following code: > > int foo(void) > { > static char *frob = NULL; > int p; > > if (frob) { > ... > } > > > Upon seeing that and thinking "whoa, how could frob be > initialized and then checked?", I realize that it's either a bug or I > look back at the initialization and realize that frob is static. It's > less obvious (to me) with non-explicit initialization. I have to agree with this one. In general I dislike relying on an implicit (even well-defined) initialized value; unfortunately we ripped out explicit initializations across the Linux kernel, not due to readability but due to the fact that long-since-obsolete versions of gcc would put explicitly-initialized variables in data rather than bss even if the initial value is zero. -hpa -- H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf.