From: Al Viro <viro@ZenIV.linux.org.uk>
To: Andi Kleen <andi@firstfloor.org>
Cc: Namhyung Kim <namhyung@gmail.com>, Arnd Bergmann <arnd@arndb.de>,
linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC][PATCH] introduce ptr_diff()
Date: Fri, 20 Aug 2010 13:07:37 +0100 [thread overview]
Message-ID: <20100820120737.GS31363@ZenIV.linux.org.uk> (raw)
In-Reply-To: <87aaoiu6z6.fsf@basil.nowhere.org>
On Thu, Aug 19, 2010 at 02:23:09PM +0200, Andi Kleen wrote:
> Namhyung Kim <namhyung@gmail.com> writes:
>
> > When I compiled allyesconfig'ed kernel with C=1, I got 1519 lines of
> > following message:
> >
> > include/linux/mm.h:599:16: warning: potentially expensive pointer subtraction
> >
> > which is around 10% of total warnings. this was caused by page_to_pfn() macro
> > so I think it's worth to remove it by calculating pointer subtraction
> > manually.
>
> IMHO it would be better to simply disable the warning in sparse instead
> of uglying the code just to work around sparse bogosity. It doesnt' seem
> to make much sense. A subtraction followed by a shift is not expensive.
"Bogosity" in question is quite real and proposed "fix" actually makes the
things even worse. At least gcc bothers to optimize the division in there...
Basically, sparse warns about pointer subtractions that divide by constants
that are not powers of two. Which _does_ have non-trivial price, even with
optimizations done by gcc.
Posted patch is complete crap, since all it does is
a) confuse sparse into not noticing the operation
b) confuse gcc into not trying to optimize the thing, which actually
makes the situation *worse*.
Sheesh...
next prev parent reply other threads:[~2010-08-20 12:07 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-19 11:37 [RFC][PATCH] introduce ptr_diff() Namhyung Kim
2010-08-19 11:57 ` Bernd Petrovitsch
2010-08-19 12:03 ` David Howells
2010-08-19 12:23 ` Andi Kleen
2010-08-19 12:40 ` Matthew Wilcox
2010-08-19 12:58 ` Andi Kleen
2010-08-19 12:58 ` Andi Kleen
2010-08-19 12:48 ` Bernd Petrovitsch
2010-08-19 12:48 ` Bernd Petrovitsch
2010-08-19 12:59 ` Andi Kleen
2010-08-19 13:05 ` Bernd Petrovitsch
2010-08-19 13:39 ` Andi Kleen
2010-08-20 12:12 ` Al Viro
2010-08-19 15:53 ` Namhyung Kim
2010-08-19 16:04 ` Bernd Petrovitsch
2010-08-19 16:12 ` Namhyung Kim
2010-08-20 12:07 ` Al Viro [this message]
2010-08-20 12:49 ` Matthew Wilcox
2010-08-20 12:57 ` Andi Kleen
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=20100820120737.GS31363@ZenIV.linux.org.uk \
--to=viro@zeniv.linux.org.uk \
--cc=andi@firstfloor.org \
--cc=arnd@arndb.de \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=namhyung@gmail.com \
/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;
as well as URLs for NNTP newsgroup(s).