public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Arjan van de Ven <arjan@infradead.org>
To: Pavel Machek <pavel@ucw.cz>
Cc: Emese Revfy <re.emese@gmail.com>,
	Paul Mundt <lethal@linux-sh.org>, Matthew Wilcox <matthew@wil.cx>,
	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
Date: Mon, 14 Dec 2009 08:00:49 -0800	[thread overview]
Message-ID: <20091214080049.19930729@infradead.org> (raw)
In-Reply-To: <20091214112656.GB1959@elf.ucw.cz>

On Mon, 14 Dec 2009 12:26:56 +0100
Pavel Machek <pavel@ucw.cz> 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

  reply	other threads:[~2009-12-14 15:58 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-13 23:58 [PATCH 00/22] Constify struct backlight_ops for 2.6.32-git-053fe57ac v2 re.emese
2009-12-13 23:58 ` [PATCH 01/22] " re.emese
2009-12-13 23:58 ` [PATCH 02/22] " re.emese
2009-12-13 23:58 ` [PATCH 03/22] " re.emese
2009-12-13 23:58 ` [PATCH 04/22] " re.emese
2009-12-13 23:58 ` [PATCH 05/22] " re.emese
2009-12-15 22:47   ` Richard Purdie
2009-12-16 22:39     ` Emese Revfy
2009-12-13 23:58 ` [PATCH 06/22] " re.emese
2009-12-13 23:58 ` [PATCH 1/3] Constify struct acpi_dock_ops " re.emese
2009-12-13 23:58 ` [PATCH 07/22] Constify struct backlight_ops " re.emese
2009-12-13 23:59 ` [PATCH 2/3] Constify struct acpi_dock_ops " re.emese
2009-12-13 23:59 ` [PATCH 08/22] Constify struct backlight_ops " re.emese
2009-12-13 23:59 ` [PATCH 09/22] " re.emese
2009-12-13 23:59 ` [PATCH 3/3] Constify struct acpi_dock_ops " re.emese
2009-12-13 23:59 ` [PATCH 10/22] Constify struct backlight_ops " re.emese
2009-12-14  0:27   ` Jonathan Woithe
2009-12-13 23:59 ` [PATCH 11/22] " re.emese
2009-12-13 23:59 ` [PATCH 12/22] " re.emese
2009-12-13 23:59 ` [PATCH 13/22] " re.emese
2009-12-13 23:59 ` [PATCH 14/22] " re.emese
2009-12-13 23:59 ` [PATCH 15/22] " re.emese
2009-12-13 23:59 ` [PATCH 16/22] " re.emese
2009-12-13 23:59 ` [PATCH 17/22] " re.emese
2009-12-13 23:59 ` [PATCH 1/1] Constify struct address_space_operations " re.emese
2009-12-13 23:59 ` [PATCH 18/22] Constify struct backlight_ops " re.emese
2009-12-13 23:59 ` [PATCH 19/22] " re.emese
2009-12-13 23:59 ` [PATCH 20/22] " re.emese
2009-12-13 23:59 ` [PATCH 21/22] " re.emese
2009-12-13 23:59 ` [PATCH 22/22] " re.emese
2009-12-14  0:38 ` [PATCH 0/1] Constify struct address_space_operations " Matthew Wilcox
2009-12-14  1:33   ` Emese Revfy
2009-12-14  2:19     ` Paul Mundt
2009-12-14  7:08       ` Emese Revfy
2009-12-14 11:26         ` Pavel Machek
2009-12-14 16:00           ` Arjan van de Ven [this message]
2009-12-14 16:30             ` Matthew Wilcox
2009-12-14 21:25             ` Pavel Machek
2009-12-14 22:17               ` Arjan van de Ven
2009-12-14 22:21                 ` Pavel Machek
2009-12-14 22:41                 ` Emese Revfy
2009-12-15 18:14                   ` Pavel Machek
2009-12-15 23:28                     ` Emese Revfy
2009-12-16  0:04                       ` Al Viro
2009-12-16  8:06                       ` Pavel Machek
2009-12-16 22:24                         ` Emese Revfy
2009-12-14 23:13             ` Emese Revfy
2009-12-15 10:47               ` Pavel Machek
2009-12-15 19:12             ` Al Viro
2009-12-14 12:36         ` Paul Mundt
2009-12-14 22:20           ` Emese Revfy
2009-12-15  0:01             ` Arjan van de Ven
2009-12-15 23:53               ` Emese Revfy
2009-12-14 11:18     ` Pavel Machek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20091214080049.19930729@infradead.org \
    --to=arjan@infradead.org \
    --cc=akpm@linux-foundation.org \
    --cc=lethal@linux-sh.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matthew@wil.cx \
    --cc=pavel@ucw.cz \
    --cc=re.emese@gmail.com \
    --cc=torvalds@linux-foundation.org \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox