From: "Jörn Engel" <joern@logfs.org>
To: Ingo Molnar <mingo@elte.hu>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Roland Dreier <rdreier@cisco.com>,
Andrew Morton <akpm@linux-foundation.org>,
"David S. Miller" <davem@davemloft.net>,
Alan Cox <alan@lxorguk.ukuu.org.uk>,
linux-kernel@vger.kernel.org,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Thomas Gleixner <tglx@linutronix.de>,
"H. Peter Anvin" <hpa@zytor.com>,
David Howells <dhowells@redhat.com>
Subject: Re: [announce] new tree: "fix all build warnings, on all configs"
Date: Wed, 22 Oct 2008 12:10:13 +0200 [thread overview]
Message-ID: <20081022101013.GA25283@logfs.org> (raw)
In-Reply-To: <20081022094759.GH12453@elte.hu>
On Wed, 22 October 2008 11:47:59 +0200, Ingo Molnar wrote:
> * Jörn Engel <joern@logfs.org> wrote:
> > On Mon, 20 October 2008 21:21:10 +0200, Ingo Molnar wrote:
> > >
> > > /* Alas, no aliases. Too much hassle with bringing module.h everywhere */
> > > #define fops_get(fops) \
> > > - (((fops) && try_module_get((fops)->owner) ? (fops) : NULL))
> > > + (((fops != NULL) && try_module_get((fops)->owner) ? (fops) : NULL))
> > > #define fops_put(fops) \
> > > - do { if (fops) module_put((fops)->owner); } while(0)
> > > + do { if (fops != NULL) module_put((fops)->owner); } while(0)
> >
> > This, I would argue, makes the code worse.
>
> In this specific case the issue is that the 'fops' parameter can
> occasionally be a constant pointer (turning the test into always-true)
> so the compiler is at least minimally correct at asking the "are you
> sure you want this" question - which we answer in the affirmative via
> the explicit NULL check. But these are really nuances.
#define fops_put(fops) do { \
if (fops != NULL) \
module_put((fops)->owner); \
} while 0
If the code was written like this, I wouldn't mind your patch at all.
But in the one-liner form, the ' != NULL' makes the difference between
fluent reading and having to actively sort out which piece belongs
where.
And I bet that if it hadn't been a macro but an inline function, you
and checkpatch would have complained about the formatting long ago. ;)
Jörn
--
To announce that there must be no criticism of the President, or that we
are to stand by the President, right or wrong, is not only unpatriotic
and servile, but is morally treasonable to the American public.
-- Theodore Roosevelt, Kansas City Star, 1918
next prev parent reply other threads:[~2008-10-22 10:11 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-17 17:11 [announce] new tree: "fix all build warnings, on all configs" Ingo Molnar
2008-10-17 17:59 ` Roland Dreier
2008-10-17 18:05 ` Ingo Molnar
2008-10-17 18:47 ` Roland Dreier
2008-10-17 19:12 ` Ingo Molnar
2008-10-17 19:36 ` Roland Dreier
2008-10-18 8:22 ` Ingo Molnar
2008-10-20 16:37 ` Linus Torvalds
2008-10-20 16:49 ` H. Peter Anvin
2008-10-20 16:57 ` Linus Torvalds
2008-10-20 19:21 ` Ingo Molnar
2008-10-21 6:41 ` Jörn Engel
2008-10-22 9:47 ` Ingo Molnar
2008-10-22 10:10 ` Jörn Engel [this message]
2008-10-18 7:43 ` Andi Kleen
2008-10-21 10:30 ` [announce] new tree: "fix all build warnings, on all configs" II Andi Kleen
2008-10-21 11:17 ` [announce] new tree: "fix all build warnings, on all configs" Ingo Molnar
2008-10-21 12:07 ` Andi Kleen
2008-10-21 19:39 ` Rafael J. Wysocki
2008-10-21 19:37 ` Rafael J. Wysocki
2008-10-22 4:11 ` Len Brown
2008-10-22 12:23 ` [PATCH] ACPI suspend: Fix CONFIG_ACPI_SLEEP dependence and some compilation warnings (was: Re: [announce] new tree: "fix all build warnings, on all configs") Rafael J. Wysocki
2008-10-22 18:58 ` Len Brown
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=20081022101013.GA25283@logfs.org \
--to=joern@logfs.org \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=davem@davemloft.net \
--cc=dhowells@redhat.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=rdreier@cisco.com \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
/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