Re: [PATCH 00/10] jump label: introduce very_[un]likely + cleanups+ docs

From: Peter Zijlstra
Date: Wed Feb 22 2012 - 10:32:50 EST


On Wed, 2012-02-22 at 16:13 +0100, Peter Zijlstra wrote:
> On Wed, 2012-02-22 at 08:54 -0500, Steven Rostedt wrote:
> > But we could push a "unlikely(static_branch())" for
> > such a case (or keep it as very_unlikely()).
>
> If only that would work.. GCC assumes a bunch of things when you use
> 'asm goto'. An unbiased 'asm goto' that would take likely() and
> unlikely() hints would be ideal, but alas that's not how the thing got
> implemented.
>
> Now arguable we could maybe just stick with the static_branch() thing
> and decide that GCC is broken for adding bias and not respecting
> likely() and unlikely(), but the GCC folks might have an opinion there.
>
> Anyway, if we have to stick with the current implementation then an
> unbiased version is impossible to implement.
>
> If we get GCC folks on board to change stuff, who knows.

So I clicked the link Jason provided in his 10/10 Documentation patch
and stumbled upon:

http://gcc.gnu.org/ml/gcc-patches/2009-07/msg01558.html

Where rth suggests that __attribute__((hot,cold)) might work on the
destination labels. Trying this my compiler (4.6.1+crap) pukes all over
me suggesting this isn't (yet) implemented.

Richard, is something like that still on the table?
--
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/