All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Howells <dhowells@redhat.com>
To: Jeff Garzik <jeff@garzik.org>
Cc: David Howells <dhowells@redhat.com>,
	Akinobu Mita <akinobu.mita@gmail.com>,
	torvalds@osdl.org, akpm@osdl.org, linux-kernel@vger.kernel.org,
	Al Viro <viro@zeniv.linux.org.uk>
Subject: Re: Mark bitrevX() functions as const
Date: Mon, 11 Dec 2006 13:14:42 +0000	[thread overview]
Message-ID: <15033.1165842882@redhat.com> (raw)
In-Reply-To: <457D559C.2030702@garzik.org>

Jeff Garzik <jeff@garzik.org> wrote:

> * overall, I agree with this type of change.  several Linux lib functions
> could use this sort of annotation.

Yes.  I just happened to notice bitrev.c at the end of my git pull and wondered
if it was what it sounded like...

> * I question its usefulness on static [inline] functions, because the compiler
> should be able to figure out side effects.  have you examined before-and-after
> asm to see if the code generation changes for the inlined area?

It doesn't actually make any difference, but I think such functions should be
so marked anyway: it gives both the code writer and the compiler more
information (though they're both free to ignore it if they like).

> * naked __attribute__ is ugly.  define something short and memorable in
> include/linux/compiler.h.

I'm not sure that's a good idea.  You have to be careful not to cause confusion
with ordinary "const".

> * another annotation to consider is C99 keyword 'restrict'.

Indeed, though I presume you don't mean in this particular case...

David

  reply	other threads:[~2006-12-11 13:14 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-11 12:35 Mark bitrevX() functions as const David Howells
2006-12-11 12:57 ` Jeff Garzik
2006-12-11 13:14   ` David Howells [this message]
2006-12-11 13:32     ` Jeff Garzik
2006-12-11 14:18       ` David Howells
2006-12-11 13:37   ` Andreas Schwab
2006-12-11 13:53     ` Jeff Garzik
2006-12-11 13:25 ` Akinobu Mita
2006-12-11 14:22   ` David Howells
2006-12-11 16:05 ` Linus Torvalds
2006-12-11 16:12   ` David Howells
2006-12-11 16:34     ` Linus Torvalds
2006-12-11 17:35     ` Jan Engelhardt
2006-12-11 17:51       ` Bernd Petrovitsch

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=15033.1165842882@redhat.com \
    --to=dhowells@redhat.com \
    --cc=akinobu.mita@gmail.com \
    --cc=akpm@osdl.org \
    --cc=jeff@garzik.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@osdl.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.