Re: [PATCH 2/8] tracing: create automated trace defines

From: Frank Ch. Eigler
Date: Tue Apr 21 2009 - 17:29:37 EST


Hi -

On Tue, Apr 21, 2009 at 05:17:17PM -0400, Steven Rostedt wrote:

> [...] Perhaps we should fork off gcc and ship Linux with its own
> compiler. This way we can optimize it for the kernel and not worry
> about any userland optimizations.

In this regard, kernel land does not seem that unlike user land.

> if (unlikely(err)) {
> __section__(".error_sect") {
> /* put error code here */
> }
> }
>
> And have gcc in the error section (if it is big enough perhaps) do:
> jmp .L123
> .L124 [...]
> [...]
> jmp .L124

> We could do the same for trace points. That is, any part of code that
> really would happen once in a while (error handling for one) we can move
> off to its own section and keep hot paths hot.

This is called -freorder-blocks or -freorder-blocks-and-partition
(depending on how far you would like gcc to move unlikely blocks).

- FChE
--
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/