From: Will Deacon <will.deacon@arm.com> To: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: yalin wang <yalin.wang2010@gmail.com>, Catalin Marinas <catalin.marinas@arm.com>, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] arm64: add HAVE_LATENCYTOP_SUPPORT config Date: Tue, 10 Nov 2015 11:18:30 +0000 [thread overview] Message-ID: <20151110111829.GD31947@arm.com> (raw) In-Reply-To: <20151110110145.GE6672@osiris> On Tue, Nov 10, 2015 at 12:01:45PM +0100, Heiko Carstens wrote: > On Tue, Nov 10, 2015 at 10:05:48AM +0000, Will Deacon wrote: > > Hi Heiko, > > > > On Tue, Nov 10, 2015 at 08:41:24AM +0100, Heiko Carstens wrote: > > > On Fri, Nov 06, 2015 at 04:21:10PM +0000, Will Deacon wrote: > > > > On Sat, Nov 07, 2015 at 12:11:16AM +0800, yalin wang wrote: > > > > > i just enable it on ARM64, > > > > > and it can work, > > > > > i don’t see some special requirement to enable this config . > > > > > > > > Right, so why does HAVE_LATENCYTOP_SUPPORT exist? > [...] > > > And looking through the kernel there is at least avr32 which would break > > > at build time if the config option would be removed completely. > > > > > > So.. renaming it to STACKTRACE_TSK_SUPPORT would be a good idea. > > > > ftrace has a similar issue and solves it by having architectures define > > a `config STACKTRACE_SUPPORT' symbol. Over in kernel/trace/Kconfig, > > there's a `select STACKTRACE if STACKTRACE_SUPPORT', which means > > that kernel/stacktrace.c gets built and a dummy (weak symbol) version of > > save_stack_trace_tsk appears. > > Ah, I wasn't aware of the weak symbol. > > > I don't think adding another STACKTRACE-related Kconfig option is > > necessarily the best thing to do. Maybe we should instead have LATENCYTOP > > depend on STACKTRACE_SUPPORT (already the case) and select STACKTRACE? > > LATENCYTOP also already selects STACKTRACE. So it looks like > HAVE_LATENCYTOP_SUPPORT could simply be removed. Ha, so it does! Patch below. The only non-trivial part was arch/arm/, which has a dependency on !SMP which I believe is no longer required as of d5996b2ff0e2 ("ARM: fix /proc/$PID/stack on SMP"). Will --->8 >From 8dfb40e92ac322cbd68bf9f16cbb11fc5e210269 Mon Sep 17 00:00:00 2001 From: Will Deacon <will.deacon@arm.com> Date: Tue, 10 Nov 2015 11:10:04 +0000 Subject: [PATCH] Kconfig: remove HAVE_LATENCYTOP_SUPPORT As illustrated by a3afe70b83fd ("[S390] latencytop s390 support."), HAVE_LATENCYTOP_SUPPORT is defined by an architecture to advertise an implementation of save_stack_trace_tsk. However, as of 9212ddb5eada ("stacktrace: provide save_stack_trace_tsk() weak alias") a dummy implementation is provided if STACKTRACE=y. Given that LATENCYTOP already depends on STACKTRACE_SUPPORT and selects STACKTRACE, we can remove HAVE_LATENCYTOP_SUPPORT altogether. Signed-off-by: Will Deacon <will.deacon@arm.com> --- arch/arc/Kconfig | 3 --- arch/arm/Kconfig | 5 ----- arch/metag/Kconfig | 3 --- arch/microblaze/Kconfig | 3 --- arch/parisc/Kconfig | 3 --- arch/powerpc/Kconfig | 3 --- arch/s390/Kconfig | 3 --- arch/sh/Kconfig | 3 --- arch/sparc/Kconfig | 4 ---- arch/unicore32/Kconfig | 3 --- arch/x86/Kconfig | 3 --- lib/Kconfig.debug | 1 - 12 files changed, 37 deletions(-) diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig index 2c2ac3f3ff80..6dc312fd6480 100644 --- a/arch/arc/Kconfig +++ b/arch/arc/Kconfig @@ -73,9 +73,6 @@ config STACKTRACE_SUPPORT def_bool y select STACKTRACE -config HAVE_LATENCYTOP_SUPPORT - def_bool y - config HAVE_ARCH_TRANSPARENT_HUGEPAGE def_bool y depends on ARC_MMU_V4 diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 35854e8d97ff..94eff0c6b0f8 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -162,11 +162,6 @@ config STACKTRACE_SUPPORT bool default y -config HAVE_LATENCYTOP_SUPPORT - bool - depends on !SMP - default y - config LOCKDEP_SUPPORT bool default y diff --git a/arch/metag/Kconfig b/arch/metag/Kconfig index 0b389a81c43a..a0fa88da3e31 100644 --- a/arch/metag/Kconfig +++ b/arch/metag/Kconfig @@ -36,9 +36,6 @@ config STACKTRACE_SUPPORT config LOCKDEP_SUPPORT def_bool y -config HAVE_LATENCYTOP_SUPPORT - def_bool y - config RWSEM_GENERIC_SPINLOCK def_bool y diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig index 0bce820428fc..5ecd0287a874 100644 --- a/arch/microblaze/Kconfig +++ b/arch/microblaze/Kconfig @@ -67,9 +67,6 @@ config STACKTRACE_SUPPORT config LOCKDEP_SUPPORT def_bool y -config HAVE_LATENCYTOP_SUPPORT - def_bool y - source "init/Kconfig" source "kernel/Kconfig.freezer" diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig index c36546959e86..16276d505cd6 100644 --- a/arch/parisc/Kconfig +++ b/arch/parisc/Kconfig @@ -79,9 +79,6 @@ config TIME_LOW_RES depends on SMP default y -config HAVE_LATENCYTOP_SUPPORT - def_bool y - # unless you want to implement ACPI on PA-RISC ... ;-) config PM bool diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index db49e0d796b1..89210bfdfc7a 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -47,9 +47,6 @@ config STACKTRACE_SUPPORT bool default y -config HAVE_LATENCYTOP_SUPPORT - def_bool y - config TRACE_IRQFLAGS_SUPPORT bool default y diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index 3a55f493c7da..69e22b502d09 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig @@ -10,9 +10,6 @@ config LOCKDEP_SUPPORT config STACKTRACE_SUPPORT def_bool y -config HAVE_LATENCYTOP_SUPPORT - def_bool y - config RWSEM_GENERIC_SPINLOCK bool diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index d514df7e04dd..6c391a5d3e5c 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig @@ -130,9 +130,6 @@ config STACKTRACE_SUPPORT config LOCKDEP_SUPPORT def_bool y -config HAVE_LATENCYTOP_SUPPORT - def_bool y - config ARCH_HAS_ILOG2_U32 def_bool n diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig index 56442d2d7bbc..3203e42190dd 100644 --- a/arch/sparc/Kconfig +++ b/arch/sparc/Kconfig @@ -101,10 +101,6 @@ config LOCKDEP_SUPPORT bool default y if SPARC64 -config HAVE_LATENCYTOP_SUPPORT - bool - default y if SPARC64 - config ARCH_HIBERNATION_POSSIBLE def_bool y if SPARC64 diff --git a/arch/unicore32/Kconfig b/arch/unicore32/Kconfig index c9faddc61100..910aaaaed969 100644 --- a/arch/unicore32/Kconfig +++ b/arch/unicore32/Kconfig @@ -33,9 +33,6 @@ config NO_IOPORT_MAP config STACKTRACE_SUPPORT def_bool y -config HAVE_LATENCYTOP_SUPPORT - def_bool y - config LOCKDEP_SUPPORT def_bool y diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index db3622f22b61..9574f7d1fe97 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -177,9 +177,6 @@ config LOCKDEP_SUPPORT config STACKTRACE_SUPPORT def_bool y -config HAVE_LATENCYTOP_SUPPORT - def_bool y - config MMU def_bool y diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index 16bf3bc25e3e..6984710e75c9 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -1547,7 +1547,6 @@ config FAULT_INJECTION_STACKTRACE_FILTER config LATENCYTOP bool "Latency measuring infrastructure" - depends on HAVE_LATENCYTOP_SUPPORT depends on DEBUG_KERNEL depends on STACKTRACE_SUPPORT depends on PROC_FS -- 2.1.4
WARNING: multiple messages have this Message-ID (diff)
From: will.deacon@arm.com (Will Deacon) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH] arm64: add HAVE_LATENCYTOP_SUPPORT config Date: Tue, 10 Nov 2015 11:18:30 +0000 [thread overview] Message-ID: <20151110111829.GD31947@arm.com> (raw) In-Reply-To: <20151110110145.GE6672@osiris> On Tue, Nov 10, 2015 at 12:01:45PM +0100, Heiko Carstens wrote: > On Tue, Nov 10, 2015 at 10:05:48AM +0000, Will Deacon wrote: > > Hi Heiko, > > > > On Tue, Nov 10, 2015 at 08:41:24AM +0100, Heiko Carstens wrote: > > > On Fri, Nov 06, 2015 at 04:21:10PM +0000, Will Deacon wrote: > > > > On Sat, Nov 07, 2015 at 12:11:16AM +0800, yalin wang wrote: > > > > > i just enable it on ARM64, > > > > > and it can work, > > > > > i don?t see some special requirement to enable this config . > > > > > > > > Right, so why does HAVE_LATENCYTOP_SUPPORT exist? > [...] > > > And looking through the kernel there is at least avr32 which would break > > > at build time if the config option would be removed completely. > > > > > > So.. renaming it to STACKTRACE_TSK_SUPPORT would be a good idea. > > > > ftrace has a similar issue and solves it by having architectures define > > a `config STACKTRACE_SUPPORT' symbol. Over in kernel/trace/Kconfig, > > there's a `select STACKTRACE if STACKTRACE_SUPPORT', which means > > that kernel/stacktrace.c gets built and a dummy (weak symbol) version of > > save_stack_trace_tsk appears. > > Ah, I wasn't aware of the weak symbol. > > > I don't think adding another STACKTRACE-related Kconfig option is > > necessarily the best thing to do. Maybe we should instead have LATENCYTOP > > depend on STACKTRACE_SUPPORT (already the case) and select STACKTRACE? > > LATENCYTOP also already selects STACKTRACE. So it looks like > HAVE_LATENCYTOP_SUPPORT could simply be removed. Ha, so it does! Patch below. The only non-trivial part was arch/arm/, which has a dependency on !SMP which I believe is no longer required as of d5996b2ff0e2 ("ARM: fix /proc/$PID/stack on SMP"). Will --->8 >From 8dfb40e92ac322cbd68bf9f16cbb11fc5e210269 Mon Sep 17 00:00:00 2001 From: Will Deacon <will.deacon@arm.com> Date: Tue, 10 Nov 2015 11:10:04 +0000 Subject: [PATCH] Kconfig: remove HAVE_LATENCYTOP_SUPPORT As illustrated by a3afe70b83fd ("[S390] latencytop s390 support."), HAVE_LATENCYTOP_SUPPORT is defined by an architecture to advertise an implementation of save_stack_trace_tsk. However, as of 9212ddb5eada ("stacktrace: provide save_stack_trace_tsk() weak alias") a dummy implementation is provided if STACKTRACE=y. Given that LATENCYTOP already depends on STACKTRACE_SUPPORT and selects STACKTRACE, we can remove HAVE_LATENCYTOP_SUPPORT altogether. Signed-off-by: Will Deacon <will.deacon@arm.com> --- arch/arc/Kconfig | 3 --- arch/arm/Kconfig | 5 ----- arch/metag/Kconfig | 3 --- arch/microblaze/Kconfig | 3 --- arch/parisc/Kconfig | 3 --- arch/powerpc/Kconfig | 3 --- arch/s390/Kconfig | 3 --- arch/sh/Kconfig | 3 --- arch/sparc/Kconfig | 4 ---- arch/unicore32/Kconfig | 3 --- arch/x86/Kconfig | 3 --- lib/Kconfig.debug | 1 - 12 files changed, 37 deletions(-) diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig index 2c2ac3f3ff80..6dc312fd6480 100644 --- a/arch/arc/Kconfig +++ b/arch/arc/Kconfig @@ -73,9 +73,6 @@ config STACKTRACE_SUPPORT def_bool y select STACKTRACE -config HAVE_LATENCYTOP_SUPPORT - def_bool y - config HAVE_ARCH_TRANSPARENT_HUGEPAGE def_bool y depends on ARC_MMU_V4 diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 35854e8d97ff..94eff0c6b0f8 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -162,11 +162,6 @@ config STACKTRACE_SUPPORT bool default y -config HAVE_LATENCYTOP_SUPPORT - bool - depends on !SMP - default y - config LOCKDEP_SUPPORT bool default y diff --git a/arch/metag/Kconfig b/arch/metag/Kconfig index 0b389a81c43a..a0fa88da3e31 100644 --- a/arch/metag/Kconfig +++ b/arch/metag/Kconfig @@ -36,9 +36,6 @@ config STACKTRACE_SUPPORT config LOCKDEP_SUPPORT def_bool y -config HAVE_LATENCYTOP_SUPPORT - def_bool y - config RWSEM_GENERIC_SPINLOCK def_bool y diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig index 0bce820428fc..5ecd0287a874 100644 --- a/arch/microblaze/Kconfig +++ b/arch/microblaze/Kconfig @@ -67,9 +67,6 @@ config STACKTRACE_SUPPORT config LOCKDEP_SUPPORT def_bool y -config HAVE_LATENCYTOP_SUPPORT - def_bool y - source "init/Kconfig" source "kernel/Kconfig.freezer" diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig index c36546959e86..16276d505cd6 100644 --- a/arch/parisc/Kconfig +++ b/arch/parisc/Kconfig @@ -79,9 +79,6 @@ config TIME_LOW_RES depends on SMP default y -config HAVE_LATENCYTOP_SUPPORT - def_bool y - # unless you want to implement ACPI on PA-RISC ... ;-) config PM bool diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index db49e0d796b1..89210bfdfc7a 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -47,9 +47,6 @@ config STACKTRACE_SUPPORT bool default y -config HAVE_LATENCYTOP_SUPPORT - def_bool y - config TRACE_IRQFLAGS_SUPPORT bool default y diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index 3a55f493c7da..69e22b502d09 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig @@ -10,9 +10,6 @@ config LOCKDEP_SUPPORT config STACKTRACE_SUPPORT def_bool y -config HAVE_LATENCYTOP_SUPPORT - def_bool y - config RWSEM_GENERIC_SPINLOCK bool diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index d514df7e04dd..6c391a5d3e5c 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig @@ -130,9 +130,6 @@ config STACKTRACE_SUPPORT config LOCKDEP_SUPPORT def_bool y -config HAVE_LATENCYTOP_SUPPORT - def_bool y - config ARCH_HAS_ILOG2_U32 def_bool n diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig index 56442d2d7bbc..3203e42190dd 100644 --- a/arch/sparc/Kconfig +++ b/arch/sparc/Kconfig @@ -101,10 +101,6 @@ config LOCKDEP_SUPPORT bool default y if SPARC64 -config HAVE_LATENCYTOP_SUPPORT - bool - default y if SPARC64 - config ARCH_HIBERNATION_POSSIBLE def_bool y if SPARC64 diff --git a/arch/unicore32/Kconfig b/arch/unicore32/Kconfig index c9faddc61100..910aaaaed969 100644 --- a/arch/unicore32/Kconfig +++ b/arch/unicore32/Kconfig @@ -33,9 +33,6 @@ config NO_IOPORT_MAP config STACKTRACE_SUPPORT def_bool y -config HAVE_LATENCYTOP_SUPPORT - def_bool y - config LOCKDEP_SUPPORT def_bool y diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index db3622f22b61..9574f7d1fe97 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -177,9 +177,6 @@ config LOCKDEP_SUPPORT config STACKTRACE_SUPPORT def_bool y -config HAVE_LATENCYTOP_SUPPORT - def_bool y - config MMU def_bool y diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index 16bf3bc25e3e..6984710e75c9 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -1547,7 +1547,6 @@ config FAULT_INJECTION_STACKTRACE_FILTER config LATENCYTOP bool "Latency measuring infrastructure" - depends on HAVE_LATENCYTOP_SUPPORT depends on DEBUG_KERNEL depends on STACKTRACE_SUPPORT depends on PROC_FS -- 2.1.4
next prev parent reply other threads:[~2015-11-10 11:18 UTC|newest] Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-11-06 15:57 [PATCH] arm64: add HAVE_LATENCYTOP_SUPPORT config yalin wang 2015-11-06 15:57 ` yalin wang 2015-11-06 16:05 ` Will Deacon 2015-11-06 16:05 ` Will Deacon 2015-11-06 16:11 ` yalin wang 2015-11-06 16:11 ` yalin wang 2015-11-06 16:21 ` Will Deacon 2015-11-06 16:21 ` Will Deacon 2015-11-10 7:41 ` Heiko Carstens 2015-11-10 7:41 ` Heiko Carstens 2015-11-10 10:05 ` Will Deacon 2015-11-10 10:05 ` Will Deacon 2015-11-10 11:01 ` Heiko Carstens 2015-11-10 11:01 ` Heiko Carstens 2015-11-10 11:18 ` Will Deacon [this message] 2015-11-10 11:18 ` Will Deacon 2015-11-10 11:24 ` yalin wang 2015-11-10 11:24 ` yalin wang 2015-11-10 11:34 ` Heiko Carstens 2015-11-10 11:34 ` Heiko Carstens 2015-12-14 22:02 ` Shi, Yang 2015-12-14 22:02 ` Shi, Yang 2015-12-15 9:48 ` Will Deacon 2015-12-15 9:48 ` Will Deacon
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20151110111829.GD31947@arm.com \ --to=will.deacon@arm.com \ --cc=catalin.marinas@arm.com \ --cc=heiko.carstens@de.ibm.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=yalin.wang2010@gmail.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.