From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ingo Molnar Subject: Re: [PATCH 3/3] x86: OLPC: speed up device tree creation during boot (v2) Date: Thu, 23 Dec 2010 12:57:16 +0100 Message-ID: <20101223115716.GA2108@elte.hu> 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> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <20101118083420.GC26398@elte.hu> Sender: linux-kernel-owner@vger.kernel.org To: "H. Peter Anvin" Cc: Andres Salomon , Milton Miller , Grant Likely , devicetree-discuss@lists.ozlabs.org, Thomas Gleixner , Ingo Molnar , linux-kernel@vger.kernel.org List-Id: devicetree@vger.kernel.org * Ingo Molnar wrote: > > However, I have to vehemently object to putting them in a wider scope > > than is otherwise necessary. I agree that static variables should be > > used sparsely if at all (there really are vary few uses of them that are > > valid), but putting them in a larger scope screams "I'm used in more > > than one function", and that is *not* a good thing. > > That's why we sometimes use the (imperfect) compromise to put them in front of > that function, not at the top of the file. > > Look at the general balance of hardship: very little harm is done (it's not a big > deal if a variable is only used in a single function) but having it with local > variables can be _really_ harmful - for example i overlooked them when i reviewed > this patch. I dont like important details obscured - i like them to be apparent. > Again, this is something that some people can parse immediately on the visual > level - me and many others cannot. As an addendum, beyond my own bad experience with them, see below a recent upstream fix that shows the kinds of problems that overlooked function scope statics can cause. Ingo -------------> >>From 3cb50ddf97a0a1ca4c68bc12fa1e727a6b45fbf2 Mon Sep 17 00:00:00 2001 From: Al Viro Date: Mon, 20 Dec 2010 15:53:18 +0000 Subject: [PATCH] Fix btrfs b0rkage Buggered-in: 76dda93c6ae2 ("Btrfs: add snapshot/subvolume destroy ioctl") Signed-off-by: Al Viro Acked-by: Chris Mason Signed-off-by: Linus Torvalds --- fs/btrfs/export.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/fs/btrfs/export.c b/fs/btrfs/export.c index 6f04444..659f532 100644 --- a/fs/btrfs/export.c +++ b/fs/btrfs/export.c @@ -166,7 +166,7 @@ static struct dentry *btrfs_fh_to_dentry(struct super_block *sb, struct fid *fh, static struct dentry *btrfs_get_parent(struct dentry *child) { struct inode *dir = child->d_inode; - static struct dentry *dentry; + struct dentry *dentry; struct btrfs_root *root = BTRFS_I(dir)->root; struct btrfs_path *path; struct extent_buffer *leaf;