Re: [PATCH] mips: sgi-ip27: switch from DISCONTIGMEM to SPARSEMEM

From: Thomas Bogendoerfer
Date: Mon Sep 09 2019 - 12:22:46 EST


On Fri, 6 Sep 2019 16:02:24 +0300
Mike Rapoport <rppt@xxxxxxxxxx> wrote:

> I suspect that unaligned access comes from __page_to_pfn, can you please
> check what scripts/fadd2line reports for kernel_init_free_pages+0xcc/0x138?

kernel_init_free_pages+0xcc/0x138:
pagefault_disabled_dec at include/linux/uaccess.h:173
(inlined by) pagefault_enable at include/linux/uaccess.h:200
(inlined by) __kunmap_atomic at include/linux/highmem.h:101
(inlined by) clear_highpage at include/linux/highmem.h:215
(inlined by) kernel_init_free_pages at mm/page_alloc.c:1124

While making some sense out of this I booted the system a few times
with the same kernel and I get different crashes (it even booted once
to userspace).

Here a list (decoded with fadd2line)

cache_grow_begin+0x1bc/0x4b8:
__section_mem_map_addr at include/linux/mmzone.h:1263
(inlined by) lowmem_page_address at include/linux/mm.h:1302
(inlined by) alloc_slabmgmt at mm/slab.c:2298
(inlined by) cache_grow_begin at mm/slab.c:2625

kfree+0x90/0x1d0:
__section_mem_map_addr at include/linux/mmzone.h:1263
(inlined by) virt_to_head_page at include/linux/mm.h:751
(inlined by) virt_to_cache at mm/slab.h:408
(inlined by) kfree at mm/slab.c:3748

kfree+0xac/0x1d0:
__read_once_size at include/linux/compiler.h:199
(inlined by) compound_head at include/linux/page-flags.h:174
(inlined by) virt_to_head_page at include/linux/mm.h:753
(inlined by) virt_to_cache at mm/slab.h:408
(inlined by) kfree at mm/slab.c:3748

___cache_free+0x120/0x540:
page_to_nid at include/linux/mm.h:1088
(inlined by) cache_free_alien at mm/slab.c:785
(inlined by) ___cache_free at mm/slab.c:3449

free_block+0xe8/0x2c0:
__read_once_size at include/linux/compiler.h:199
(inlined by) compound_head at include/linux/page-flags.h:174
(inlined by) virt_to_head_page at include/linux/mm.h:753
(inlined by) free_block at mm/slab.c:3342

copy_process+0x254/0x1738:
__section_mem_map_addr at include/linux/mmzone.h:1263
(inlined by) lowmem_page_address at include/linux/mm.h:1302
(inlined by) alloc_thread_stack_node at kernel/fork.c:252
(inlined by) dup_task_struct at kernel/fork.c:855
(inlined by) copy_process at kernel/fork.c:1856

I couldn't make real sense out of this yet, but maybe it gives
a hint for you.

Thomas.

--
SUSE Software Solutions Germany GmbH
HRB 247165 (AG München)
Geschäftsführer: Felix Imendörffer