Re: [patch 13/17] Use WARN() in drivers/base/

From: Arjan van de Ven
Date: Fri Jul 11 2008 - 18:36:20 EST


On Fri, 11 Jul 2008 15:11:10 -0700
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Fri, 11 Jul 2008 13:54:09 -0700 Arjan van de Ven
> <arjan@xxxxxxxxxxxxx> wrote:
>
> > On Fri, 11 Jul 2008 12:20:11 -0700
> > Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
> >
> > > On Tue, 8 Jul 2008 09:53:07 -0700 Arjan van de Ven
> > > <arjan@xxxxxxxxxxxxx> wrote:
> > >
> > > > Signed-off-by: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx>Index:
> > > > linux.trees.git/drivers/base/core.c
> > >
> > > A number of these patches had mangled signed-off-by: lines.
> > >
> > > Please try to be consistent in the presence and placement of the
> > > ^--- line at the end of the changelog.
> > >
> > > I verified that all three copies of "Use WARN() in fs/" were the
> > > same.
> > >
> > > I've decided that I don't like the whole thing :( This:
> > >
> > > #define WARN(condition, format...)
> > > ({ \ int __ret_warn_on
> > > = !!(condition); \ if
> > > (unlikely(__ret_warn_on)) \
> > > __WARN_printf(format); \
> > > unlikely(__ret_warn_on);
> > > \ })
> > >
> > > is not a WARN(). It is a WARN_ON() function. The use of this
> > > name now leaves us no sensible name under which to implement
> > >
> >
> > I'm totally open to a better name.
> > Having a condition in there is really nice, it means we can fold the
> > if() into it in many cases. Just like BUG_ON() did.
>
> Alexey's WARN_IF() would suit, I guess. Plain old "WARN" is just
> wrong here, alas.
>
> I can just edit all the diffs if we're all OK with that.

I'm ok with that.

>
>
>
> I don't suppose there's any way of tricking the preprocessor into
> supporting
>
> WARN_ON(foo == 42);
>
> as well as
>
> WARN_ON(foo == 42, "bite me!");

there might be some obscure GCC extensions, but to be honest I fear the
worst ;(


--
If you want to reach me at my work email, use arjan@xxxxxxxxxxxxxxx
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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/