Re: [PATCH] Fix BUG macro

Hugh Dickins (hugh@veritas.com)
Fri, 17 May 2002 08:56:56 +0100 (BST)


On Fri, 17 May 2002, Rusty Russell wrote:
>
> Um, show me where sizeof(KBUILD_BASENAME) + sizeof(__FUNCTION__) >
> sizeof(__FILENAME__).

If you're talking about kbuild2.5 where all the __FILENAME__s
become absolute (for good reason) instead of the leafnames they
usually were (header files excepted): not many instances, but
that's not the point. The point is that all the instances of
__FILENAME__ within one compilation unit (across compilation
units? rumours that that will become so) get combined into a
single string, so little overhead to many BUG()s in one file.
But you are now creating lots of __FUNCTION__ strings which
cannot be combined to the nearly same extent (though, yeah,
all those "__free_pages_ok"s will get combined into one).

Your BUG() may have made space savings relative to kbuild2.5,
I don't know, but that's because kbuild2.5 has inadvertently
added a bloat there, and I thought we were looking for ways
to recover from that (I'd earlier proposed KBUILD_BASENAME,
but didn't understand stringification), to get back to
Andrew's lean mean clean implementation (before which we
needed CONFIG_DEBUG_BUGVERBOSE=n to cut out the overhead).

Hugh

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/