Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1221071 > unrolled thread

[PATCH v2 0/3] ARMv7-M: Make FORCE_MAX_ZONE_ORDER configurable from defconfig

Started byMaxime Coquelin <mcoquelin.stm32@gmail.com>
First post2015-09-08 22:40 +0200
Last post2015-09-09 08:50 +0200
Articles 8 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH v2 0/3] ARMv7-M: Make FORCE_MAX_ZONE_ORDER configurable from defconfig Maxime Coquelin <mcoquelin.stm32@gmail.com> - 2015-09-08 22:40 +0200
    [PATCH v2 2/3] ARM: configs: Set FORCE_MAX_ZONE_ORDER to 9 in stm32_defconfig Maxime Coquelin <mcoquelin.stm32@gmail.com> - 2015-09-08 22:40 +0200
    [PATCH v2 3/3] ARM: configs: Set FORCE_MAX_ZONEORDER to 9 in efm32_defconfig Maxime Coquelin <mcoquelin.stm32@gmail.com> - 2015-09-08 22:40 +0200
    [PATCH v2 1/3] ARM: Make FORCE_MAX_ZONEORDER configurable if ARM_SINGLE_ARMV7M Maxime Coquelin <mcoquelin.stm32@gmail.com> - 2015-09-08 22:40 +0200
      Re: [PATCH v2 1/3] ARM: Make FORCE_MAX_ZONEORDER configurable if  ARM_SINGLE_ARMV7M Russell King - ARM Linux <linux@arm.linux.org.uk> - 2015-09-09 00:30 +0200
        Re: [PATCH v2 1/3] ARM: Make FORCE_MAX_ZONEORDER configurable if  ARM_SINGLE_ARMV7M Uwe Kleine-König   <u.kleine-koenig@pengutronix.de> - 2015-09-09 07:50 +0200
          Re: [PATCH v2 1/3] ARM: Make FORCE_MAX_ZONEORDER configurable if  ARM_SINGLE_ARMV7M Uwe Kleine-König   <u.kleine-koenig@pengutronix.de> - 2015-09-10 10:00 +0200
        Re: [PATCH v2 1/3] ARM: Make FORCE_MAX_ZONEORDER configurable if ARM_SINGLE_ARMV7M Maxime Coquelin <mcoquelin.stm32@gmail.com> - 2015-09-09 08:50 +0200

#1221071 — [PATCH v2 0/3] ARMv7-M: Make FORCE_MAX_ZONE_ORDER configurable from defconfig

FromMaxime Coquelin <mcoquelin.stm32@gmail.com>
Date2015-09-08 22:40 +0200
Subject[PATCH v2 0/3] ARMv7-M: Make FORCE_MAX_ZONE_ORDER configurable from defconfig
Message-ID<q6xQm-6JP-3@gated-at.bofh.it>
This series makes possible to set MAX_ZONE_ORDER from defconfig for ARMv7-M
platforms when build as single platform.

It sets the FORCE_MAX_ZONE_ORDER value to 9 for STM32 and EFM32 for
consistency for the later, as it was the case before this series.

Maxime Coquelin (3):
  ARM: Make FORCE_MAX_ZONEORDER configurable if ARM_SINGLE_ARMV7M
  ARM: configs: Set FORCE_MAX_ZONE_ORDER to 9 in stm32_defconfig
  ARM: configs: Set FORCE_MAX_ZONEORDER to 9 in efm32_defconfig

 arch/arm/Kconfig                 | 4 ++--
 arch/arm/configs/efm32_defconfig | 1 +
 arch/arm/configs/stm32_defconfig | 1 +
 3 files changed, 4 insertions(+), 2 deletions(-)

-- 
1.9.1

--
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/

[toc] | [next] | [standalone]


#1221072 — [PATCH v2 2/3] ARM: configs: Set FORCE_MAX_ZONE_ORDER to 9 in stm32_defconfig

FromMaxime Coquelin <mcoquelin.stm32@gmail.com>
Date2015-09-08 22:40 +0200
Subject[PATCH v2 2/3] ARM: configs: Set FORCE_MAX_ZONE_ORDER to 9 in stm32_defconfig
Message-ID<q6xQm-6JP-5@gated-at.bofh.it>
In reply to#1221071
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/configs/stm32_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/configs/stm32_defconfig b/arch/arm/configs/stm32_defconfig
index 4725fab..9fe3b39 100644
--- a/arch/arm/configs/stm32_defconfig
+++ b/arch/arm/configs/stm32_defconfig
@@ -25,6 +25,7 @@ CONFIG_DRAM_BASE=0x90000000
 CONFIG_FLASH_MEM_BASE=0x08000000
 CONFIG_FLASH_SIZE=0x00200000
 CONFIG_PREEMPT=y
+CONFIG_FORCE_MAX_ZONEORDER=9
 # CONFIG_ATAGS is not set
 CONFIG_ZBOOT_ROM_TEXT=0x0
 CONFIG_ZBOOT_ROM_BSS=0x0
-- 
1.9.1

--
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/

[toc] | [prev] | [next] | [standalone]


#1221074 — [PATCH v2 3/3] ARM: configs: Set FORCE_MAX_ZONEORDER to 9 in efm32_defconfig

FromMaxime Coquelin <mcoquelin.stm32@gmail.com>
Date2015-09-08 22:40 +0200
Subject[PATCH v2 3/3] ARM: configs: Set FORCE_MAX_ZONEORDER to 9 in efm32_defconfig
Message-ID<q6xQm-6JP-13@gated-at.bofh.it>
In reply to#1221071
FORCE_MAX_ZONEORDER has now to be configured in defconfig for ARMV7
platforms.

Cc: Uwe Kleine-König <kernel@pengutronix.de>
Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
---
 arch/arm/configs/efm32_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/configs/efm32_defconfig b/arch/arm/configs/efm32_defconfig
index c0dac0f0f..884f16e 100644
--- a/arch/arm/configs/efm32_defconfig
+++ b/arch/arm/configs/efm32_defconfig
@@ -24,6 +24,7 @@ CONFIG_DRAM_SIZE=0x00400000
 CONFIG_FLASH_MEM_BASE=0x8c000000
 CONFIG_FLASH_SIZE=0x01000000
 CONFIG_PREEMPT=y
+CONFIG_FORCE_MAX_ZONEORDER=9
 CONFIG_ZBOOT_ROM_TEXT=0x0
 CONFIG_ZBOOT_ROM_BSS=0x0
 CONFIG_XIP_KERNEL=y
-- 
1.9.1

--
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/

[toc] | [prev] | [next] | [standalone]


#1221076 — [PATCH v2 1/3] ARM: Make FORCE_MAX_ZONEORDER configurable if ARM_SINGLE_ARMV7M

FromMaxime Coquelin <mcoquelin.stm32@gmail.com>
Date2015-09-08 22:40 +0200
Subject[PATCH v2 1/3] ARM: Make FORCE_MAX_ZONEORDER configurable if ARM_SINGLE_ARMV7M
Message-ID<q6xQn-6JP-31@gated-at.bofh.it>
In reply to#1221071
This patch makes FORCE_MAX_ZONEORDER configurable in defconfig for ARMV7-M
when built for a single platform.

Suggested-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
---
 arch/arm/Kconfig | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index a750c14..88937b9 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1731,10 +1731,10 @@ config ARM_MODULE_PLTS
 source "mm/Kconfig"
 
 config FORCE_MAX_ZONEORDER
-	int "Maximum zone order" if ARCH_SHMOBILE_LEGACY
+	int "Maximum zone order" if ARCH_SHMOBILE_LEGACY || ARM_SINGLE_ARMV7M
 	range 11 64 if ARCH_SHMOBILE_LEGACY
 	default "12" if SOC_AM33XX
-	default "9" if SA1111 || ARCH_EFM32
+	default "9" if SA1111
 	default "11"
 	help
 	  The kernel memory allocator divides physically contiguous memory
-- 
1.9.1

--
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/

[toc] | [prev] | [next] | [standalone]


#1221121 — Re: [PATCH v2 1/3] ARM: Make FORCE_MAX_ZONEORDER configurable if ARM_SINGLE_ARMV7M

FromRussell King - ARM Linux <linux@arm.linux.org.uk>
Date2015-09-09 00:30 +0200
SubjectRe: [PATCH v2 1/3] ARM: Make FORCE_MAX_ZONEORDER configurable if ARM_SINGLE_ARMV7M
Message-ID<q6zyO-Of-3@gated-at.bofh.it>
In reply to#1221076
On Tue, Sep 08, 2015 at 10:38:04PM +0200, Maxime Coquelin wrote:
> This patch makes FORCE_MAX_ZONEORDER configurable in defconfig for ARMV7-M
> when built for a single platform.

I'd prefer if we didn't do this, because this isn't supposed to be a user
visible "option".  It's an option that was introduced to avoid having to
throw masses of #ifdefs into the definition of MAX_ZONEORDER.

The problem with it is that it's a "well, what do I set this to?" option
and that leads to "oh, I'll just choose the default because I don't know
any better".

Do we know why EFM32 needs a value of 9 here?  It's not documented in
the original commit, and it really _should_ have been.

-- 
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.
--
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/

[toc] | [prev] | [next] | [standalone]


#1221240 — Re: [PATCH v2 1/3] ARM: Make FORCE_MAX_ZONEORDER configurable if ARM_SINGLE_ARMV7M

FromUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Date2015-09-09 07:50 +0200
SubjectRe: [PATCH v2 1/3] ARM: Make FORCE_MAX_ZONEORDER configurable if ARM_SINGLE_ARMV7M
Message-ID<q6GqC-2fO-15@gated-at.bofh.it>
In reply to#1221121
On Tue, Sep 08, 2015 at 11:19:13PM +0100, Russell King - ARM Linux wrote:
> On Tue, Sep 08, 2015 at 10:38:04PM +0200, Maxime Coquelin wrote:
> > This patch makes FORCE_MAX_ZONEORDER configurable in defconfig for ARMV7-M
> > when built for a single platform.
> 
> I'd prefer if we didn't do this, because this isn't supposed to be a user
> visible "option".  It's an option that was introduced to avoid having to
> throw masses of #ifdefs into the definition of MAX_ZONEORDER.
> 
> The problem with it is that it's a "well, what do I set this to?" option
> and that leads to "oh, I'll just choose the default because I don't know
> any better".
> 
> Do we know why EFM32 needs a value of 9 here?  It's not documented in
> the original commit, and it really _should_ have been.
IIRC it was done because of memory pressure. But not sure this makes any
sense. I will try with the default value later today and report back.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
--
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/

[toc] | [prev] | [next] | [standalone]


#1221987 — Re: [PATCH v2 1/3] ARM: Make FORCE_MAX_ZONEORDER configurable if ARM_SINGLE_ARMV7M

FromUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Date2015-09-10 10:00 +0200
SubjectRe: [PATCH v2 1/3] ARM: Make FORCE_MAX_ZONEORDER configurable if ARM_SINGLE_ARMV7M
Message-ID<q74VZ-3B9-21@gated-at.bofh.it>
In reply to#1221240
On Wed, Sep 09, 2015 at 07:41:25AM +0200, Uwe Kleine-König wrote:
> On Tue, Sep 08, 2015 at 11:19:13PM +0100, Russell King - ARM Linux wrote:
> > On Tue, Sep 08, 2015 at 10:38:04PM +0200, Maxime Coquelin wrote:
> > > This patch makes FORCE_MAX_ZONEORDER configurable in defconfig for ARMV7-M
> > > when built for a single platform.
> > 
> > I'd prefer if we didn't do this, because this isn't supposed to be a user
> > visible "option".  It's an option that was introduced to avoid having to
> > throw masses of #ifdefs into the definition of MAX_ZONEORDER.
> > 
> > The problem with it is that it's a "well, what do I set this to?" option
> > and that leads to "oh, I'll just choose the default because I don't know
> > any better".
> > 
> > Do we know why EFM32 needs a value of 9 here?  It's not documented in
> > the original commit, and it really _should_ have been.
> IIRC it was done because of memory pressure. But not sure this makes any
> sense. I will try with the default value later today and report back.
I updated my patch stack to 4.2 and the difference between 9 and 11 is:

Using 9:

	/ # free
		     total         used         free       shared      buffers
	Mem:          3744         1688         2056            0            0
	-/+ buffers:               1688         2056

vs. using 11:

	/ # free
		     total         used         free       shared      buffers
	Mem:          3744         1696         2048            0            0
	-/+ buffers:               1696         2048

so it works with bearable costs. If you want to get rid of the special
casing for efm32 that's fine for me.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
--
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/

[toc] | [prev] | [next] | [standalone]


#1221275 — Re: [PATCH v2 1/3] ARM: Make FORCE_MAX_ZONEORDER configurable if ARM_SINGLE_ARMV7M

FromMaxime Coquelin <mcoquelin.stm32@gmail.com>
Date2015-09-09 08:50 +0200
SubjectRe: [PATCH v2 1/3] ARM: Make FORCE_MAX_ZONEORDER configurable if ARM_SINGLE_ARMV7M
Message-ID<q6HmF-3Ay-5@gated-at.bofh.it>
In reply to#1221121
2015-09-09 0:19 GMT+02:00 Russell King - ARM Linux <linux@arm.linux.org.uk>:
> On Tue, Sep 08, 2015 at 10:38:04PM +0200, Maxime Coquelin wrote:
>> This patch makes FORCE_MAX_ZONEORDER configurable in defconfig for ARMV7-M
>> when built for a single platform.
>
> I'd prefer if we didn't do this, because this isn't supposed to be a user
> visible "option".  It's an option that was introduced to avoid having to
> throw masses of #ifdefs into the definition of MAX_ZONEORDER.
>
> The problem with it is that it's a "well, what do I set this to?" option
> and that leads to "oh, I'll just choose the default because I don't know
> any better".
>
> Do we know why EFM32 needs a value of 9 here?  It's not documented in
> the original commit, and it really _should_ have been.
Ok, I get your point.

For STM32, the value 11 is working, but having value of 9 makes sense
in my opinion for systems with small quantity of memory (8MB in the
case of STM32F429 Discovery).
It saves some bytes in the .data section, and it might also save some
CPU cycles as there are less iterations and less split/coalescing of
pages...
Note that for CPU cycles I haven't done any measurements, this is just
my opinion after code review.

What drawbacks do you see of using a value of 9?

Thanks,
Maxime
--
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/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web