diff mbox

ARM: stm32: Reduce FORCE_MAX_ZONEORDER to 9

Message ID 1440533237-5831-1-git-send-email-mcoquelin.stm32@gmail.com
State New
Headers show

Commit Message

Maxime Coquelin Aug. 25, 2015, 8:07 p.m. UTC
STM32 boards having small amount of RAM, we can optimize by reducing max order
page blocks size.

Suggested-by: Andreas Färber <afaerber@suse.de>
Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
---
 arch/arm/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Arnd Bergmann Aug. 25, 2015, 8:36 p.m. UTC | #1
On Tuesday 25 August 2015 22:07:17 Maxime Coquelin wrote:
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index a750c14..57d53af 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -1734,7 +1734,7 @@ config FORCE_MAX_ZONEORDER
>         int "Maximum zone order" if ARCH_SHMOBILE_LEGACY
>         range 11 64 if ARCH_SHMOBILE_LEGACY
>         default "12" if SOC_AM33XX
> -       default "9" if SA1111 || ARCH_EFM32
> +       default "9" if SA1111 || ARCH_EFM32 || ARCH_STM32
>         default "11"
> 

This looks wrong now that we can enable multiple ARMV7M platforms
together. In practice it doesn't matter much, because you wouldn't
do that for a real-life system, but out of principle this seems
like something you'd better put into the defconfig file for
both ARCH_EFM32 and ARCH_STM32. We could also think about changing
the default to "9" for any ARM_SINGLE_ARMV7M config and increasing
it again in defconfig for any platform that actually has a lot of
RAM (if any).

The SOC_AM33XX is slightly different because it increases the default
rather than reducing it, presumably because the larger allocation is
actually required (for what?).

	Arnd
Maxime Coquelin Aug. 25, 2015, 9:03 p.m. UTC | #2
On 08/25/2015 10:36 PM, Arnd Bergmann wrote:
> On Tuesday 25 August 2015 22:07:17 Maxime Coquelin wrote:
>> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
>> index a750c14..57d53af 100644
>> --- a/arch/arm/Kconfig
>> +++ b/arch/arm/Kconfig
>> @@ -1734,7 +1734,7 @@ config FORCE_MAX_ZONEORDER
>>          int "Maximum zone order" if ARCH_SHMOBILE_LEGACY
>>          range 11 64 if ARCH_SHMOBILE_LEGACY
>>          default "12" if SOC_AM33XX
>> -       default "9" if SA1111 || ARCH_EFM32
>> +       default "9" if SA1111 || ARCH_EFM32 || ARCH_STM32
>>          default "11"
>>
> This looks wrong now that we can enable multiple ARMV7M platforms
> together. In practice it doesn't matter much, because you wouldn't
> do that for a real-life system, but out of principle this seems
> like something you'd better put into the defconfig file for
> both ARCH_EFM32 and ARCH_STM32. We could also think about changing
> the default to "9" for any ARM_SINGLE_ARMV7M config and increasing
> it again in defconfig for any platform that actually has a lot of
> RAM (if any).
>

Both proposals seem reasonable.
I propose to make this entry configurable in defconfig if ARM_SINGLE_ARMV7M,
keeping the default to 11. Then, in efm32 and stm32 defconfig files, 
select value 9.

Uwe, is it ok for you?

Regards,
Maxime
diff mbox

Patch

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index a750c14..57d53af 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1734,7 +1734,7 @@  config FORCE_MAX_ZONEORDER
 	int "Maximum zone order" if ARCH_SHMOBILE_LEGACY
 	range 11 64 if ARCH_SHMOBILE_LEGACY
 	default "12" if SOC_AM33XX
-	default "9" if SA1111 || ARCH_EFM32
+	default "9" if SA1111 || ARCH_EFM32 || ARCH_STM32
 	default "11"
 	help
 	  The kernel memory allocator divides physically contiguous memory