Re: [PATCH 0/4] jump label patches

From: Richard Henderson
Date: Tue Oct 06 2009 - 19:26:26 EST


On 10/05/2009 10:39 PM, Roland McGrath wrote:
Of course, a first important point is what the actual compiled code
sequences look like. I'm hoping Richard (who implemented the compiler
feature for us) can help us with making sure our expectations jibe with the
code we'll really get. There's no benefit in optimizing our asm not to
introduce a jump into the hot path if the compiler actually generates the
tracing path first and gives the hot path a "jmp" around it anyway.

At present, the asm goto extension gives no prediction weights to any path. I had hoped that the -freorder-blocks pass (enabled with -O2) would automatically place the relevant fallthrough blocks immediately after the asm goto. It did happen for small test cases, but a message from Jason downthread indicates that it doesn't always happen.

if (__builtin_expect(0,0)) do_trace: __attribute__((cold)) { ... }

An attribute cold on a label is something that I've suggested, but have not yet implemented. I think that might be the easiest way to add prediction weights to an asm goto.


r~
--
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/