All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] MIPS: Adjust SPARSEMEM Kconfigs
@ 2023-10-28 13:52 Jiaxun Yang
  2023-10-28 13:52 ` [PATCH 1/2] MIPS: Enable SPARSEMEM option unconditionally on 64BIT Jiaxun Yang
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Jiaxun Yang @ 2023-10-28 13:52 UTC (permalink / raw)
  To: Thomas Bogendoerfer; +Cc: linux-mips, linux-kernel, Jiaxun Yang

Hi,

This series adjusted some mm Kconfigs, mainly sparsemem related.

Hope it is not too late for 6.7 :-)

Thanks
- Jiaxun 

Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
---
Jiaxun Yang (2):
      MIPS: Enable SPARSEMEM option unconditionally on 64BIT
      MIPS: generic: Set SPARSEMEM by default for 64BIT kernel

 arch/mips/Kconfig             | 14 +++++++++-----
 arch/mips/loongson2ef/Kconfig |  4 ++--
 2 files changed, 11 insertions(+), 7 deletions(-)
---
base-commit: 66f1e1ea3548378ff6387b1ce0b40955d54e86aa
change-id: 20231028-mm-82dc717e9e49

Best regards,
-- 
Jiaxun Yang <jiaxun.yang@flygoat.com>


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/2] MIPS: Enable SPARSEMEM option unconditionally on 64BIT
  2023-10-28 13:52 [PATCH 0/2] MIPS: Adjust SPARSEMEM Kconfigs Jiaxun Yang
@ 2023-10-28 13:52 ` Jiaxun Yang
  2023-12-30 14:40   ` Thomas Bogendoerfer
  2023-10-28 13:52 ` [PATCH 2/2] MIPS: generic: Set SPARSEMEM by default for 64BIT kernel Jiaxun Yang
  2023-11-30  8:15 ` [PATCH 0/2] MIPS: Adjust SPARSEMEM Kconfigs Gregory CLEMENT
  2 siblings, 1 reply; 5+ messages in thread
From: Jiaxun Yang @ 2023-10-28 13:52 UTC (permalink / raw)
  To: Thomas Bogendoerfer; +Cc: linux-mips, linux-kernel, Jiaxun Yang

SPARSEMEM have been tested on Cavium and Loongson64 for a while
and we are confident that they are working properly on 64bit
systems.

Since it's almost certain for 64bit MIPS system to have a hole
in memory space, SPARSEMEM will be more efficent for them.

Also promote platforms marked with SPARSEMEM_ENABLE before
to SPARSEMEM_DEFAULT, as they tend to have huge holes in
address space.

Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
---
 arch/mips/Kconfig             | 13 ++++++++-----
 arch/mips/loongson2ef/Kconfig |  4 ++--
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 76db82542519..d12e8f3c1d08 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -460,7 +460,7 @@ config MACH_LOONGSON2EF
 
 config MACH_LOONGSON64
 	bool "Loongson 64-bit family of machines"
-	select ARCH_SPARSEMEM_ENABLE
+	select ARCH_SPARSEMEM_DEFAULT
 	select ARCH_MIGHT_HAVE_PC_PARPORT
 	select ARCH_MIGHT_HAVE_PC_SERIO
 	select GENERIC_ISA_DMA_SUPPORT_BROKEN
@@ -656,7 +656,7 @@ config SGI_IP22
 config SGI_IP27
 	bool "SGI IP27 (Origin200/2000)"
 	select ARCH_HAS_PHYS_TO_DMA
-	select ARCH_SPARSEMEM_ENABLE
+	select ARCH_SPARSEMEM_DEFAULT
 	select FW_ARC
 	select FW_ARC64
 	select ARC_CMDLINE_ONLY
@@ -923,7 +923,7 @@ config CAVIUM_OCTEON_SOC
 	select ZONE_DMA32
 	select GPIOLIB
 	select USE_OF
-	select ARCH_SPARSEMEM_ENABLE
+	select ARCH_SPARSEMEM_DEFAULT
 	select SYS_SUPPORTS_SMP
 	select NR_CPUS_DEFAULT_64
 	select MIPS_NR_CPU_NR_MAP_1024
@@ -2573,10 +2573,13 @@ config CPU_SUPPORTS_MSA
 
 config ARCH_FLATMEM_ENABLE
 	def_bool y
-	depends on !NUMA && !CPU_LOONGSON2EF
 
 config ARCH_SPARSEMEM_ENABLE
-	bool
+	def_bool y
+	depends on 64BIT
+
+config ARCH_SELECT_MEMORY_MODEL
+	def_bool ARCH_SPARSEMEM_ENABLE
 
 config NUMA
 	bool "NUMA Support"
diff --git a/arch/mips/loongson2ef/Kconfig b/arch/mips/loongson2ef/Kconfig
index f93eb6f42238..e593294b2995 100644
--- a/arch/mips/loongson2ef/Kconfig
+++ b/arch/mips/loongson2ef/Kconfig
@@ -6,7 +6,7 @@ choice
 
 config LEMOTE_FULOONG2E
 	bool "Lemote Fuloong(2e) mini-PC"
-	select ARCH_SPARSEMEM_ENABLE
+	select ARCH_SPARSEMEM_DEFAULT
 	select ARCH_HAS_PHYS_TO_DMA
 	select ARCH_MIGHT_HAVE_PC_PARPORT
 	select ARCH_MIGHT_HAVE_PC_SERIO
@@ -36,7 +36,7 @@ config LEMOTE_FULOONG2E
 
 config LEMOTE_MACH2F
 	bool "Lemote Loongson 2F family machines"
-	select ARCH_SPARSEMEM_ENABLE
+	select ARCH_SPARSEMEM_DEFAULT
 	select ARCH_HAS_PHYS_TO_DMA
 	select ARCH_MIGHT_HAVE_PC_PARPORT
 	select ARCH_MIGHT_HAVE_PC_SERIO

-- 
2.34.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/2] MIPS: generic: Set SPARSEMEM by default for 64BIT kernel
  2023-10-28 13:52 [PATCH 0/2] MIPS: Adjust SPARSEMEM Kconfigs Jiaxun Yang
  2023-10-28 13:52 ` [PATCH 1/2] MIPS: Enable SPARSEMEM option unconditionally on 64BIT Jiaxun Yang
@ 2023-10-28 13:52 ` Jiaxun Yang
  2023-11-30  8:15 ` [PATCH 0/2] MIPS: Adjust SPARSEMEM Kconfigs Gregory CLEMENT
  2 siblings, 0 replies; 5+ messages in thread
From: Jiaxun Yang @ 2023-10-28 13:52 UTC (permalink / raw)
  To: Thomas Bogendoerfer; +Cc: linux-mips, linux-kernel, Jiaxun Yang

Select ARCH_SPARSEMEM_DEFAULT for 64bit generic kernel build,
as all platforms supported by 64bit generic kernel have a hole
in their address space.

Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
---
 arch/mips/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index d12e8f3c1d08..fad05f699efd 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -133,6 +133,7 @@ choice
 
 config MIPS_GENERIC_KERNEL
 	bool "Generic board-agnostic MIPS kernel"
+	select ARCH_SPARSEMEM_DEFAULT if 64BIT
 	select MIPS_GENERIC
 	select BOOT_RAW
 	select BUILTIN_DTB

-- 
2.34.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 0/2] MIPS: Adjust SPARSEMEM Kconfigs
  2023-10-28 13:52 [PATCH 0/2] MIPS: Adjust SPARSEMEM Kconfigs Jiaxun Yang
  2023-10-28 13:52 ` [PATCH 1/2] MIPS: Enable SPARSEMEM option unconditionally on 64BIT Jiaxun Yang
  2023-10-28 13:52 ` [PATCH 2/2] MIPS: generic: Set SPARSEMEM by default for 64BIT kernel Jiaxun Yang
@ 2023-11-30  8:15 ` Gregory CLEMENT
  2 siblings, 0 replies; 5+ messages in thread
From: Gregory CLEMENT @ 2023-11-30  8:15 UTC (permalink / raw)
  To: Jiaxun Yang, Thomas Bogendoerfer; +Cc: linux-mips, linux-kernel, Jiaxun Yang

Hello Jiaxun,

> Hi,
>
> This series adjusted some mm Kconfigs, mainly sparsemem related.

Following your feedback on my series adding support for EyeQ5[1]. I
tested those 2 patches and as expected it reduces a lot the memory
consumption, memap consumes 512 pages again while without these patches
it consumed 8672 pages.

You can add on both patches my

Tested-by: Gregory CLEMENT <gregory.clement@bootlin.com>

Thanks,

Gregory
>
> Hope it is not too late for 6.7 :-)
>
> Thanks
> - Jiaxun 
>
> Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
> ---
> Jiaxun Yang (2):
>       MIPS: Enable SPARSEMEM option unconditionally on 64BIT
>       MIPS: generic: Set SPARSEMEM by default for 64BIT kernel
>
>  arch/mips/Kconfig             | 14 +++++++++-----
>  arch/mips/loongson2ef/Kconfig |  4 ++--
>  2 files changed, 11 insertions(+), 7 deletions(-)
> ---
> base-commit: 66f1e1ea3548378ff6387b1ce0b40955d54e86aa
> change-id: 20231028-mm-82dc717e9e49
>
> Best regards,
> -- 
> Jiaxun Yang <jiaxun.yang@flygoat.com>
>

-- 
Gregory Clement, Bootlin
Embedded Linux and Kernel engineering
http://bootlin.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] MIPS: Enable SPARSEMEM option unconditionally on 64BIT
  2023-10-28 13:52 ` [PATCH 1/2] MIPS: Enable SPARSEMEM option unconditionally on 64BIT Jiaxun Yang
@ 2023-12-30 14:40   ` Thomas Bogendoerfer
  0 siblings, 0 replies; 5+ messages in thread
From: Thomas Bogendoerfer @ 2023-12-30 14:40 UTC (permalink / raw)
  To: Jiaxun Yang; +Cc: linux-mips, linux-kernel

On Sat, Oct 28, 2023 at 02:52:16PM +0100, Jiaxun Yang wrote:
> SPARSEMEM have been tested on Cavium and Loongson64 for a while
> and we are confident that they are working properly on 64bit
> systems.
> 
> Since it's almost certain for 64bit MIPS system to have a hole
> in memory space, SPARSEMEM will be more efficent for them.
> 
> Also promote platforms marked with SPARSEMEM_ENABLE before
> to SPARSEMEM_DEFAULT, as they tend to have huge holes in
> address space.
> 
> Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
> ---
>  arch/mips/Kconfig             | 13 ++++++++-----
>  arch/mips/loongson2ef/Kconfig |  4 ++--
>  2 files changed, 10 insertions(+), 7 deletions(-)
> 
> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> index 76db82542519..d12e8f3c1d08 100644
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -460,7 +460,7 @@ config MACH_LOONGSON2EF
>  
>  config MACH_LOONGSON64
>  	bool "Loongson 64-bit family of machines"
> -	select ARCH_SPARSEMEM_ENABLE
> +	select ARCH_SPARSEMEM_DEFAULT
>  	select ARCH_MIGHT_HAVE_PC_PARPORT
>  	select ARCH_MIGHT_HAVE_PC_SERIO
>  	select GENERIC_ISA_DMA_SUPPORT_BROKEN
> @@ -656,7 +656,7 @@ config SGI_IP22
>  config SGI_IP27
>  	bool "SGI IP27 (Origin200/2000)"
>  	select ARCH_HAS_PHYS_TO_DMA
> -	select ARCH_SPARSEMEM_ENABLE
> +	select ARCH_SPARSEMEM_DEFAULT
>  	select FW_ARC
>  	select FW_ARC64
>  	select ARC_CMDLINE_ONLY
> @@ -923,7 +923,7 @@ config CAVIUM_OCTEON_SOC
>  	select ZONE_DMA32
>  	select GPIOLIB
>  	select USE_OF
> -	select ARCH_SPARSEMEM_ENABLE
> +	select ARCH_SPARSEMEM_DEFAULT
>  	select SYS_SUPPORTS_SMP
>  	select NR_CPUS_DEFAULT_64
>  	select MIPS_NR_CPU_NR_MAP_1024
> @@ -2573,10 +2573,13 @@ config CPU_SUPPORTS_MSA
>  
>  config ARCH_FLATMEM_ENABLE
>  	def_bool y
> -	depends on !NUMA && !CPU_LOONGSON2EF
>  
>  config ARCH_SPARSEMEM_ENABLE
> -	bool
> +	def_bool y
> +	depends on 64BIT
> +
> +config ARCH_SELECT_MEMORY_MODEL
> +	def_bool ARCH_SPARSEMEM_ENABLE

maybe I'm blind, but I don't see ARCH_SPARSEMEM_DEFAULT declared in
Kconfig for MIPS. So what I'm missing ?

Thomas.

-- 
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea.                                                [ RFC1925, 2.3 ]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-12-30 15:39 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-28 13:52 [PATCH 0/2] MIPS: Adjust SPARSEMEM Kconfigs Jiaxun Yang
2023-10-28 13:52 ` [PATCH 1/2] MIPS: Enable SPARSEMEM option unconditionally on 64BIT Jiaxun Yang
2023-12-30 14:40   ` Thomas Bogendoerfer
2023-10-28 13:52 ` [PATCH 2/2] MIPS: generic: Set SPARSEMEM by default for 64BIT kernel Jiaxun Yang
2023-11-30  8:15 ` [PATCH 0/2] MIPS: Adjust SPARSEMEM Kconfigs Gregory CLEMENT

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.