[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4BA7DAB3.5030002@redhat.com>
Date: Mon, 22 Mar 2010 23:01:39 +0200
From: Avi Kivity <avi@...hat.com>
To: Jason Baron <jbaron@...hat.com>
CC: linux-kernel@...r.kernel.org, mingo@...e.hu,
mathieu.desnoyers@...ymtl.ca, hpa@...or.com, tglx@...utronix.de,
rostedt@...dmis.org, andi@...stfloor.org, roland@...hat.com,
rth@...hat.com, mhiramat@...hat.com, fweisbec@...il.com
Subject: Re: [PATCH 2/5] jump label: base patch
On 03/22/2010 06:07 PM, Jason Baron wrote:
> base patch to implement 'jump labeling'. Based on a new 'asm goto' inline
> assembly gcc mechanism, we can now branch to labels from an 'asm goto'
> statment. This allows us to create a 'no-op' fastpath, which can subsequently
> be patched with a jump to the slowpath code. This is useful for code which
> might be rarely used, but which we'd like to be able to call, if needed.
> Tracepoints are the current usecase that these are being implemented for.
>
>
> +
> +#define JUMP_LABEL(tag, label, cond) \
> + if (unlikely(cond)) \
> + goto label;
>
Suggest wrapping with do { } while (0) to avoid problems with the
dangling semicolon or a trailing 'else' from an outer if ().
--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists