Messages in this thread | | | Date | Fri, 8 Jul 2016 14:41:24 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH v3 7/7] dynamic_debug: add jump label support |
| |
On Wed, 6 Jul 2016 17:42:36 -0400 Jason Baron <jbaron@akamai.com> wrote:
> Although dynamic debug is often only used for debug builds, sometimes its > enabled for production builds as well. Minimize its impact by using jump > labels. This reduces the text section by 7000+ bytes in the kernel image > below. It does increase data, but this should only be referenced when > changing the direction of the branches, and hence usually not in cache. > > ... > > +#ifdef HAVE_JUMP_LABEL > + > +#define dd_key_init(key, init) key = (init) > > ... > > +#else > + > +#define dd_key_init(key, init) > +
umm, lazy. One is an lval and returns a value and the other does neither. Lack of parenthesization in the first version doubtless exposes various horrors.
Care to do something more robust and conventional here? Presumably use symmetrical do{}while(0) things, neither of which is an lval, both of which don't return anything.
| |