Re: [PATCH v4 0/4] MIPS: Modify mem= and memmap= parameter

Mike Rapoport
2022-03-02T12:51:09Z

On Wed, Mar 02, 2022 at 05:28:27PM +0800, Tiezhu Yang wrote:
>
> On 03/02/2022 04:03 PM, Mike Rapoport wrote:
> > On Wed, Mar 02, 2022 at 09:50:49AM +0800, Tiezhu Yang wrote:
>
> [ 0.000000] Linux version 5.17.0-rc3+ (loongson@linux) (gcc (GCC) 7.3.1
> 20180303 (Red Hat 7.3.1-6), GNU ld version 2.28-13.fc21.loongson.6) #1 SMP
> PREEMPT Wed Mar 2 09:07:39 CST 2022
> [ 0.000000] CpuClock = 1800000000
> [ 0.000000] The bridge chip is LS7A
> [ 0.000000] CP0_Config3: CP0 16.3 (0xdc8030a0)
> [ 0.000000] CP0_PageGrain: CP0 5.1 (0x28000000)
> [ 0.000000] NUMA: Discovered 4 cpus on 1 nodes
> [ 0.000000] Node0: mem_type:1, mem_start:0x200000, mem_size:0xee MB
> [ 0.000000] start_pfn:0x80, end_pfn:0x3c00, num_physpages:0x3b80
> [ 0.000000] Node0: mem_type:2, mem_start:0x90200000, mem_size:0x6fe MB
> [ 0.000000] start_pfn:0x24080, end_pfn:0x40000,
> num_physpages:0x1fb00
> [ 0.000000] Node0: mem_type:2, mem_start:0x120000000, mem_size:0x1600 MB
> [ 0.000000] start_pfn:0x48000, end_pfn:0xa0000,
> num_physpages:0x77b00
> [ 0.000000] Node0's addrspace_offset is 0x0
> [ 0.000000] Node0: start_pfn=0x80, end_pfn=0xa0000
> [ 0.000000] NUMA: set cpumask cpu 0 on node 0
> [ 0.000000] NUMA: set cpumask cpu 1 on node 0
> [ 0.000000] NUMA: set cpumask cpu 2 on node 0
> [ 0.000000] NUMA: set cpumask cpu 3 on node 0
> [ 0.000000] printk: bootconsole [early0] enabled
> [ 0.000000] CPU0 revision is: 0014c001 (ICT Loongson-3)
> [ 0.000000] FPU revision is: 00f70501
> [ 0.000000] MSA revision is: 00060140
> [ 0.000000] OF: fdt: No chosen node found, continuing without
> [ 0.000000] MIPS: machine is loongson,loongson64g-4core-ls7a
> [ 0.000000] User-defined physical RAM map overwrite
> [ 0.000000] Kernel sections are not in the memory maps
> [ 0.000000] memblock_add: [0x0000000000200000-0x000000000231185f]
> setup_arch+0x140/0x794
> [ 0.000000] memblock_reserve: [0x0000000001260520-0x0000000001262560]
> setup_arch+0x148/0x794
> [ 0.000000] Initrd not found or empty - disabling initrd
> [ 0.000000] memblock_alloc_try_nid: 8257 bytes align=0x40 nid=-1
> from=0x0000000000000000 max_addr=0x0000000000000000
> early_init_dt_alloc_memory_arch+0x30/0x60
> [ 0.000000] memblock_reserve: [0x0000000004000000-0x0000000004002040]
> memblock_alloc_range_nid+0xf0/0x178
> [ 0.000000] memblock_alloc_try_nid: 37972 bytes align=0x8 nid=-1
> from=0x0000000000000000 max_addr=0x0000000000000000
> early_init_dt_alloc_memory_arch+0x30/0x60
> [ 0.000000] memblock_reserve: [0x0000000004002048-0x000000000400b49b]
> memblock_alloc_range_nid+0xf0/0x178

As far as I can tell, the kernel lives in 0x200000 and using mem=3G@64M
removes the memory with the kernel and also makes the kernel think there is
memory between 0x400000 and 0xf000000 while there seem to be a hole up to
0x90200000.

This definitely can be reason for the hangs.

--
Sincerely yours,
Mike.