* [PATCH v2 0/3] ARMv7-M: Make FORCE_MAX_ZONE_ORDER configurable from defconfig
@ 2015-09-08 20:38 Maxime Coquelin
2015-09-08 20:38 ` [PATCH v2 1/3] ARM: Make FORCE_MAX_ZONEORDER configurable if ARM_SINGLE_ARMV7M Maxime Coquelin
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Maxime Coquelin @ 2015-09-08 20:38 UTC (permalink / raw)
To: linux-arm-kernel
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
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 1/3] ARM: Make FORCE_MAX_ZONEORDER configurable if ARM_SINGLE_ARMV7M
2015-09-08 20:38 [PATCH v2 0/3] ARMv7-M: Make FORCE_MAX_ZONE_ORDER configurable from defconfig Maxime Coquelin
@ 2015-09-08 20:38 ` Maxime Coquelin
2015-09-08 22:19 ` Russell King - ARM Linux
2015-09-08 20:38 ` [PATCH v2 2/3] ARM: configs: Set FORCE_MAX_ZONE_ORDER to 9 in stm32_defconfig Maxime Coquelin
2015-09-08 20:38 ` [PATCH v2 3/3] ARM: configs: Set FORCE_MAX_ZONEORDER to 9 in efm32_defconfig Maxime Coquelin
2 siblings, 1 reply; 8+ messages in thread
From: Maxime Coquelin @ 2015-09-08 20:38 UTC (permalink / raw)
To: linux-arm-kernel
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
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 1/3] ARM: Make FORCE_MAX_ZONEORDER configurable if ARM_SINGLE_ARMV7M
2015-09-08 20:38 ` [PATCH v2 1/3] ARM: Make FORCE_MAX_ZONEORDER configurable if ARM_SINGLE_ARMV7M Maxime Coquelin
@ 2015-09-08 22:19 ` Russell King - ARM Linux
2015-09-09 5:41 ` Uwe Kleine-König
2015-09-09 6:48 ` Maxime Coquelin
0 siblings, 2 replies; 8+ messages in thread
From: Russell King - ARM Linux @ 2015-09-08 22:19 UTC (permalink / raw)
To: linux-arm-kernel
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.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 1/3] ARM: Make FORCE_MAX_ZONEORDER configurable if ARM_SINGLE_ARMV7M
2015-09-08 22:19 ` Russell King - ARM Linux
@ 2015-09-09 5:41 ` Uwe Kleine-König
2015-09-10 7:53 ` Uwe Kleine-König
2015-09-09 6:48 ` Maxime Coquelin
1 sibling, 1 reply; 8+ messages in thread
From: Uwe Kleine-König @ 2015-09-09 5:41 UTC (permalink / raw)
To: linux-arm-kernel
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/ |
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 1/3] ARM: Make FORCE_MAX_ZONEORDER configurable if ARM_SINGLE_ARMV7M
2015-09-09 5:41 ` Uwe Kleine-König
@ 2015-09-10 7:53 ` Uwe Kleine-König
0 siblings, 0 replies; 8+ messages in thread
From: Uwe Kleine-König @ 2015-09-10 7:53 UTC (permalink / raw)
To: linux-arm-kernel
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/ |
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 1/3] ARM: Make FORCE_MAX_ZONEORDER configurable if ARM_SINGLE_ARMV7M
2015-09-08 22:19 ` Russell King - ARM Linux
2015-09-09 5:41 ` Uwe Kleine-König
@ 2015-09-09 6:48 ` Maxime Coquelin
1 sibling, 0 replies; 8+ messages in thread
From: Maxime Coquelin @ 2015-09-09 6:48 UTC (permalink / raw)
To: linux-arm-kernel
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
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 2/3] ARM: configs: Set FORCE_MAX_ZONE_ORDER to 9 in stm32_defconfig
2015-09-08 20:38 [PATCH v2 0/3] ARMv7-M: Make FORCE_MAX_ZONE_ORDER configurable from defconfig Maxime Coquelin
2015-09-08 20:38 ` [PATCH v2 1/3] ARM: Make FORCE_MAX_ZONEORDER configurable if ARM_SINGLE_ARMV7M Maxime Coquelin
@ 2015-09-08 20:38 ` Maxime Coquelin
2015-09-08 20:38 ` [PATCH v2 3/3] ARM: configs: Set FORCE_MAX_ZONEORDER to 9 in efm32_defconfig Maxime Coquelin
2 siblings, 0 replies; 8+ messages in thread
From: Maxime Coquelin @ 2015-09-08 20:38 UTC (permalink / raw)
To: linux-arm-kernel
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
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 3/3] ARM: configs: Set FORCE_MAX_ZONEORDER to 9 in efm32_defconfig
2015-09-08 20:38 [PATCH v2 0/3] ARMv7-M: Make FORCE_MAX_ZONE_ORDER configurable from defconfig Maxime Coquelin
2015-09-08 20:38 ` [PATCH v2 1/3] ARM: Make FORCE_MAX_ZONEORDER configurable if ARM_SINGLE_ARMV7M Maxime Coquelin
2015-09-08 20:38 ` [PATCH v2 2/3] ARM: configs: Set FORCE_MAX_ZONE_ORDER to 9 in stm32_defconfig Maxime Coquelin
@ 2015-09-08 20:38 ` Maxime Coquelin
2 siblings, 0 replies; 8+ messages in thread
From: Maxime Coquelin @ 2015-09-08 20:38 UTC (permalink / raw)
To: linux-arm-kernel
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
^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2015-09-10 7:53 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-08 20:38 [PATCH v2 0/3] ARMv7-M: Make FORCE_MAX_ZONE_ORDER configurable from defconfig Maxime Coquelin
2015-09-08 20:38 ` [PATCH v2 1/3] ARM: Make FORCE_MAX_ZONEORDER configurable if ARM_SINGLE_ARMV7M Maxime Coquelin
2015-09-08 22:19 ` Russell King - ARM Linux
2015-09-09 5:41 ` Uwe Kleine-König
2015-09-10 7:53 ` Uwe Kleine-König
2015-09-09 6:48 ` Maxime Coquelin
2015-09-08 20:38 ` [PATCH v2 2/3] ARM: configs: Set FORCE_MAX_ZONE_ORDER to 9 in stm32_defconfig Maxime Coquelin
2015-09-08 20:38 ` [PATCH v2 3/3] ARM: configs: Set FORCE_MAX_ZONEORDER to 9 in efm32_defconfig Maxime Coquelin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).