Skip to contentSkip to conversation

Kconfig: disable LATENCYTOP for IA64

PATCH New Will Deacon 1 participant 1 message Mar 9, 2016 Library code

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Kconfig: disable LATENCYTOP for IA64

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 <[email protected]>
Cc Heiko Carstens <[email protected]>
Cc Andrew Morton <[email protected]>

---

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(+)
lib/Kconfig.debug +1 -0
index 8bfd1aca7a3d..c8d12808b9aa 100644
@@ -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
Signature · 1 line
2.1.4