diff mbox

arm64: remove redundant FRAME_POINTER kconfig option

Message ID 563CE9AA.8050905@linaro.org
State New
Headers show

Commit Message

Yang Shi Nov. 6, 2015, 5:55 p.m. UTC
On 11/6/2015 9:51 AM, Catalin Marinas wrote:
> On Fri, Nov 06, 2015 at 09:39:07AM -0800, Shi, Yang wrote:

>> On 11/6/2015 9:35 AM, Catalin Marinas wrote:

>>> On Fri, Nov 06, 2015 at 09:23:38AM -0800, Shi, Yang wrote:

>>>> On 11/6/2015 8:25 AM, Will Deacon wrote:

>>>>> However, the patch would allow one to

>>>>> disable FRAME_POINTERS (not sure it has any effect on the aarch64 gcc

>>>>> though).

>>>>

>>>> No, it doesn't. Actually, FRAME_POINTER could be disabled regardless of the

>>>> patch.

>>>

>>> In which case I suggest that we always select it just as a clearer

>>> statement that the feature cannot be disabled (and you never know what

>>> the compiler people decide to do in the future).

>>

>> Do you mean select FRAME_POINTER in ARCH_WANT_FRAME_POINTERS?

>>

>> Yes, we could, but this may cause other architectures which select

>> ARCH_WANT_FRAME_POINTERS to have FRAME_POINTER selected too.

>

> This would have been the ideal option, something like:

>

> --- a/lib/Kconfig.debug

> +++ b/lib/Kconfig.debug

> @@ -322,7 +322,7 @@ config ARCH_WANT_FRAME_POINTERS

>   	help

>

>   config FRAME_POINTER

> -	bool "Compile the kernel with frame pointers"

> +	bool "Compile the kernel with frame pointers" if !ARCH_WANT_FRAME_POINTERS

>   	depends on DEBUG_KERNEL && \

>   		(CRIS || M68K || FRV || UML || \

>   		 AVR32 || SUPERH || BLACKFIN || MN10300 || METAG) || \

>

> But, as you said, we would need to check the other architectures

> selecting ARCH_WANT_FRAME_POINTERS.


How about:


If other architectures want the same behavior, they could easily append 
to the is statement. If all arches which selects 
ARCH_WANT_FRAME_POINTERS, the if statement could be just removed.

Yang

>

> In the meantime:

>

> --- a/arch/arm64/Kconfig

> +++ b/arch/arm64/Kconfig

> @@ -27,6 +27,7 @@ config ARM64

>   	select CPU_PM if (SUSPEND || CPU_IDLE)

>   	select DCACHE_WORD_ACCESS

>   	select EDAC_SUPPORT

> +	select FRAME_POINTER

>   	select GENERIC_ALLOCATOR

>   	select GENERIC_CLOCKEVENTS

>   	select GENERIC_CLOCKEVENTS_BROADCAST

>


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Comments

Catalin Marinas Nov. 9, 2015, 3:58 p.m. UTC | #1
On Fri, Nov 06, 2015 at 09:55:54AM -0800, Shi, Yang wrote:
> On 11/6/2015 9:51 AM, Catalin Marinas wrote:

> >On Fri, Nov 06, 2015 at 09:39:07AM -0800, Shi, Yang wrote:

> >>On 11/6/2015 9:35 AM, Catalin Marinas wrote:

> >>>On Fri, Nov 06, 2015 at 09:23:38AM -0800, Shi, Yang wrote:

> >>>>On 11/6/2015 8:25 AM, Will Deacon wrote:

> >>>>>However, the patch would allow one to

> >>>>>disable FRAME_POINTERS (not sure it has any effect on the aarch64 gcc

> >>>>>though).

> >>>>

> >>>>No, it doesn't. Actually, FRAME_POINTER could be disabled regardless of the

> >>>>patch.

> >>>

> >>>In which case I suggest that we always select it just as a clearer

> >>>statement that the feature cannot be disabled (and you never know what

> >>>the compiler people decide to do in the future).

> >>

> >>Do you mean select FRAME_POINTER in ARCH_WANT_FRAME_POINTERS?

> >>

> >>Yes, we could, but this may cause other architectures which select

> >>ARCH_WANT_FRAME_POINTERS to have FRAME_POINTER selected too.

> >

> >This would have been the ideal option, something like:

> >

> >--- a/lib/Kconfig.debug

> >+++ b/lib/Kconfig.debug

> >@@ -322,7 +322,7 @@ config ARCH_WANT_FRAME_POINTERS

> >  	help

> >

> >  config FRAME_POINTER

> >-	bool "Compile the kernel with frame pointers"

> >+	bool "Compile the kernel with frame pointers" if !ARCH_WANT_FRAME_POINTERS

> >  	depends on DEBUG_KERNEL && \

> >  		(CRIS || M68K || FRV || UML || \

> >  		 AVR32 || SUPERH || BLACKFIN || MN10300 || METAG) || \

> >

> >But, as you said, we would need to check the other architectures

> >selecting ARCH_WANT_FRAME_POINTERS.

> 

> How about:

> 

> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug

> index 1d1521c..709255a 100644

> --- a/lib/Kconfig.debug

> +++ b/lib/Kconfig.debug

> @@ -319,6 +319,7 @@ config DEBUG_SECTION_MISMATCH

>  #

>  config ARCH_WANT_FRAME_POINTERS

>         bool

> +       select FRAME_POINTER if ARM64

>         help

> 

>  config FRAME_POINTER

> 

> If other architectures want the same behavior, they could easily append to

> the is statement. If all arches which selects ARCH_WANT_FRAME_POINTERS, the

> if statement could be just removed.


I prefer the select in the ARM64 Kconfig entry as below:

> >--- a/arch/arm64/Kconfig

> >+++ b/arch/arm64/Kconfig

> >@@ -27,6 +27,7 @@ config ARM64

> >  	select CPU_PM if (SUSPEND || CPU_IDLE)

> >  	select DCACHE_WORD_ACCESS

> >  	select EDAC_SUPPORT

> >+	select FRAME_POINTER

> >  	select GENERIC_ALLOCATOR

> >  	select GENERIC_CLOCKEVENTS

> >  	select GENERIC_CLOCKEVENTS_BROADCAST

> >


-- 
Catalin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
diff mbox

Patch

diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 1d1521c..709255a 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -319,6 +319,7 @@  config DEBUG_SECTION_MISMATCH
  #
  config ARCH_WANT_FRAME_POINTERS
         bool
+       select FRAME_POINTER if ARM64
         help

  config FRAME_POINTER