lkml.org 
[lkml]   [2016]   [Mar]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] Kconfig: disable LATENCYTOP for IA64
Date
Commit da48d094ce5d ("Kconfig: remove HAVE_LATENCYTOP_SUPPORT")
allows CONFIG_LATENCYTOP to be selected on all architectures, since
save_stack_trace_tsk is now provided unconditionally by core code.

Unfortunately, this results in a build error for ia64 when the option
is enabled:

arch/ia64/kernel/entry.S: Assembler messages:
arch/ia64/kernel/entry.S:621: Error: Operand 2 of `adds' should be a 14-bit integer (-8192-8191)
arch/ia64/kernel/entry.S:728: Error: Operand 2 of `adds' should be a 14-bit integer (-8192-8191)
arch/ia64/kernel/entry.S:859: Error: Operand 2 of `adds' should be a 14-bit integer (-8192-8191)
make[1]: *** [arch/ia64/kernel/entry.o] Error 1

This is because task_struct is now over 8k thanks to the latency_record
array, which means that the 14-bit immediate offset expect by the adds
instruction to grab hold of the thread info flags is now out-of-range on
ia64. Fixing the ia64 entry code without making it less efficient is
beyond me, but rather than revert da48d094ce5d entirely, we can simply
make LATENCYTOP depend on !IA64 until somebody brave steps up to tackle
the entry code over there.

Cc: Tony Luck <tony.luck@intel.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Reported-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Will Deacon <will.deacon@arm.com>
---

I previously reported this on linux-arch, but the conversation didn't
go anywhere: http://marc.info/?l=linux-arch&m=145390684108109

lib/Kconfig.debug | 1 +
1 file changed, 1 insertion(+)

diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 8bfd1aca7a3d..c8d12808b9aa 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -1615,6 +1615,7 @@ config LATENCYTOP
depends on DEBUG_KERNEL
depends on STACKTRACE_SUPPORT
depends on PROC_FS
+ depends on !IA64
select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE && !ARM_UNWIND && !ARC
select KALLSYMS
select KALLSYMS_ALL
--
2.1.4
\
 
 \ /
  Last update: 2016-03-09 18:21    [W:0.020 / U:2.460 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site