diff mbox

[RFC] ARM: enable highmem by default on ARMv6/ARMv7 CPUs

Message ID E1Zbx08-0001A3-PQ@rmk-PC.arm.linux.org.uk (mailing list archive)
State New, archived
Headers show

Commit Message

Russell King Sept. 15, 2015, 8:38 p.m. UTC
ARMv6 and ARMv7 normally have more than 1G of memory, so it makes sense
to have highmem enabled by default.  Users can still turn highmem off if
they wish by enabling the EXPERT option, which then allows the option to
be visible.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
---
 arch/arm/Kconfig | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Arnd Bergmann Sept. 15, 2015, 9:22 p.m. UTC | #1
On Tuesday 15 September 2015 21:38:52 Russell King wrote:
> ARMv6 and ARMv7 normally have more than 1G of memory, so it makes sense
> to have highmem enabled by default.  Users can still turn highmem off if
> they wish by enabling the EXPERT option, which then allows the option to
> be visible.
> 
> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

I would have guessed that the cost of kmap_atomic (and the
preempt_disable() when CONFIG_PREEMPT is set) is high enough
even for lowmem-only systems that we want this disabled wherever
we can.

Looking through the memory properties of the dts files in the kernel,
my impression is that all ARMv6 and a majority of the currently supported
ARMv7 machines actually have less than 1GB. This is of course changing if you
take into account only the ARMv7 machines that are getting added these
days, but I would drop at least the ARMv6 dependency.

	Arnd
Enrico Weigelt, metux IT consult Sept. 25, 2015, 11:14 a.m. UTC | #2
Am 15.09.2015 um 22:38 schrieb Russell King:
> ARMv6 and ARMv7 normally have more than 1G of memory, so it makes sense
> to have highmem enabled by default.  Users can still turn highmem off if
> they wish by enabling the EXPERT option, which then allows the option to
> be visible.

I just got a new TX6 (Karo) machine - only a few of their SoM's
even have 1G - most of them just 1/4 or 1/2.

Most embedded boxes I know (not counting smartphones) are way
beyond 1G, so I have a bad feeling w/ your proposal.


--mtx

--
Enrico Weigelt, metux IT consult
+49-151-27565287
[Facebook]<https://www.facebook.com/MELAG.Medizintechnik> [Youtube] <https://www.youtube.com/channel/UCm3er2LyByOAioiOA3zcwJg>  [Xing] <https://www.xing.com/companies/melagmedizintechnikohg>  [Linkedin] <https://linkedin.com/company/melag-medical-technology>

MELAG Medizintechnik oHG Sitz Berlin Registergericht AG Charlottenburg HRA 21333 B

Wichtiger Hinweis: Diese Nachricht kann vertrauliche oder nur für einen begrenzten Personenkreis bestimmte Informationen enthalten. Sie ist ausschließlich für denjenigen bestimmt, an den sie gerichtet worden ist. Wenn Sie nicht der Adressat dieser E-Mail sind, dürfen Sie diese nicht kopieren, weiterleiten, weitergeben oder sie ganz oder teilweise in irgendeiner Weise nutzen. Sollten Sie diese E-Mail irrtümlich erhalten haben, so benachrichtigen Sie bitte den Absender, indem Sie auf diese Nachricht antworten. Bitte löschen Sie in diesem Fall diese Nachricht und alle Anhänge, ohne eine Kopie zu behalten.
Important Notice: This message may contain confidential or privileged information. It is intended only for the person it was addressed to. If you are not the intended recipient of this email you may not copy, forward, disclose or otherwise use it or any part of it in any form whatsoever. If you received this email in error please notify the sender by replying and delete this message and any attachments without retaining a copy.
diff mbox

Patch

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 02eb51b6d324..49250dc9856b 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1694,8 +1694,9 @@  config HAVE_GENERIC_RCU_GUP
 	depends on ARM_LPAE
 
 config HIGHMEM
-	bool "High Memory Support"
+	bool "High Memory Support" if !(CPU_32v6 || CPU_32v7) || EXPERT
 	depends on MMU
+	default y if CPU_32v6 || CPU_32v7
 	help
 	  The address space of ARM processors is only 4 Gigabytes large
 	  and it has to accommodate user address space, kernel address