Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757572AbZLNP6d (ORCPT ); Mon, 14 Dec 2009 10:58:33 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1757553AbZLNP6c (ORCPT ); Mon, 14 Dec 2009 10:58:32 -0500 Received: from casper.infradead.org ([85.118.1.10]:35320 "EHLO casper.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753700AbZLNP6b (ORCPT ); Mon, 14 Dec 2009 10:58:31 -0500 Date: Mon, 14 Dec 2009 08:00:49 -0800 From: Arjan van de Ven To: Pavel Machek Cc: Emese Revfy , Paul Mundt , Matthew Wilcox , linux-kernel@vger.kernel.org, torvalds@linux-foundation.org, viro@zeniv.linux.org.uk, akpm@linux-foundation.org Subject: Re: [PATCH 0/1] Constify struct address_space_operations for 2.6.32-git-053fe57ac v2 Message-ID: <20091214080049.19930729@infradead.org> In-Reply-To: <20091214112656.GB1959@elf.ucw.cz> References: <20091214003836.GD7812@parisc-linux.org> <4B2595E7.701@gmail.com> <20091214021916.GB12196@linux-sh.org> <4B25E47C.1010803@gmail.com> <20091214112656.GB1959@elf.ucw.cz> Organization: Intel X-Mailer: Claws Mail 3.7.3 (GTK+ 2.16.6; i586-redhat-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-SRS-Rewrite: SMTP reverse-path rewritten from by casper.infradead.org See http://www.infradead.org/rpr.html Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2480 Lines: 54 On Mon, 14 Dec 2009 12:26:56 +0100 Pavel Machek wrote: > > > Until such a consensus is reached one way or the other, please > > > refrain from sending hundreds of patches -- one or two are > > > sufficient for showing what you want to do until folks are on > > > board with it, as is the typical nature of mechanical changes. > > > > I think there is consensus to constify ops variables as much as > > possible (e.g., Alexey's similar patches). > > No such consensus exists. It is very clear from the patch reactions. I for one am not opposed to using const where we could be using const. It's a fundamental language feature, that helps the compiler and developer. Yes there is sparse, and no, almost nobody uses that. If it's const, it won't be and can't be changed, allowing more aggressive optimization. It also means all these structures get put in the rodata section, which means by definition they can no longer have false sharing with data structures that are written to,.. and that section is often even really read only (cpu protection bits), which is also a nice, but secundary; _ops are one of those targets for rootkits and accidental overwrites. Rodata is also something that in theory we can replicate between numa nodes (we don't do that yet I think, but it's one of those chicken-and-egg things.. once rodata contains enough hot/critical structures it becomes worth it) Now, a 300 patch series to lkml is not the way to do this. First step is to make checkpatch.pl warn about new cases. Second step should be to convert all definitions, but using the "one patch per maintainer" rule, not "one patch per file" rule. Yes it's somewhat janitorial, but no it's not a big deal as long as it's not 300 patches to lkml. And it is much better than whitespace changes; it's a real quality improvement to the kernel (in terms of code generation and API) Once everything is converted after a kernel release or two, you can consider the third step of changing the actual prototypes/definitions, which at that point is a small one-liner that isn't a big deal. -- Arjan van de Ven Intel Open Source Technology Centre For development, discussion and tips for power savings, visit http://www.lesswatts.org -- 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/