[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20160708144124.fa0b4d55aaf7e1d61a943d40@linux-foundation.org>
Date: Fri, 8 Jul 2016 14:41:24 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Jason Baron <jbaron@...mai.com>
Cc: joe@...ches.com, peterz@...radead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 7/7] dynamic_debug: add jump label support
On Wed, 6 Jul 2016 17:42:36 -0400 Jason Baron <jbaron@...mai.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.
Powered by blists - more mailing lists