Re: [PATCH 1/3] trace: disable branch tracer on alpha

From: Ingo Molnar
Date: Tue Feb 03 2009 - 00:20:11 EST



* Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> From: Steven Rostedt <srostedt@xxxxxxxxxx>
>
> Impact: fix alpha compiler builds
>
> The profile all branches tracer causes errors on alpha, due to
> the use of extern inlines. This patch disables it on alpha.
>
> Signed-off-by: Steven Rostedt <srostedt@xxxxxxxxxx>
> ---
> kernel/trace/Kconfig | 2 ++
> 1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig
> index dde1d46..2780665 100644
> --- a/kernel/trace/Kconfig
> +++ b/kernel/trace/Kconfig
> @@ -183,9 +183,11 @@ config TRACE_BRANCH_PROFILING
>
> Say N if unsure.
>
> +# PROFILE_ALL_BRANCHES fails on alph due to extern inlines.
> config PROFILE_ALL_BRANCHES
> bool "Profile all if conditionals"
> depends on TRACE_BRANCH_PROFILING
> + depends on !ALPHA
> help
> This tracer profiles all branch conditions. Every if ()
> taken in the kernel is recorded whether it hit or miss.

Alpha has 108 extern inlines in about a dozen include files:

earth4:~/tip> git grep 'extern inline' arch/alpha/include/asm/ | cut -d: -f1
| uniq -c | sort -n
1 arch/alpha/include/asm/core_apecs.h
1 arch/alpha/include/asm/core_cia.h
1 arch/alpha/include/asm/core_irongate.h
1 arch/alpha/include/asm/core_lca.h
1 arch/alpha/include/asm/core_marvel.h
1 arch/alpha/include/asm/core_polaris.h
1 arch/alpha/include/asm/core_titan.h
1 arch/alpha/include/asm/core_tsunami.h
1 arch/alpha/include/asm/core_wildfire.h
1 arch/alpha/include/asm/jensen.h
1 arch/alpha/include/asm/pci.h
1 arch/alpha/include/asm/tlbflush.h
2 arch/alpha/include/asm/core_mcpcia.h
3 arch/alpha/include/asm/mmu_context.h
3 arch/alpha/include/asm/processor.h
5 arch/alpha/include/asm/system.h
7 arch/alpha/include/asm/core_t2.h
9 arch/alpha/include/asm/uaccess.h
33 arch/alpha/include/asm/pgtable.h
34 arch/alpha/include/asm/io.h

Wouldnt the right fix be to:

sed -i 's/extern inline/static inline/' arch/alpha/include/asm/*.h
git add arch/alpha/include/asm/*.h
git commit -m "alpha: change extern inlines to static inlines"

?

Ingo

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