From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE, SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DF122C43460 for ; Mon, 26 Apr 2021 15:26:52 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 1980F6112F for ; Mon, 26 Apr 2021 15:26:51 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1980F6112F Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=huawei.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 460066B0036; Mon, 26 Apr 2021 11:26:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 436918D0001; Mon, 26 Apr 2021 11:26:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2D9296B0070; Mon, 26 Apr 2021 11:26:51 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0251.hostedemail.com [216.40.44.251]) by kanga.kvack.org (Postfix) with ESMTP id E35346B0036 for ; Mon, 26 Apr 2021 11:26:50 -0400 (EDT) Received: from smtpin39.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 830B9483C for ; Mon, 26 Apr 2021 15:26:50 +0000 (UTC) X-FDA: 78074895780.39.A1CC1B7 Received: from szxga04-in.huawei.com (szxga04-in.huawei.com [45.249.212.190]) by imf03.hostedemail.com (Postfix) with ESMTP id D228EC0007E0 for ; Mon, 26 Apr 2021 15:26:43 +0000 (UTC) Received: from DGGEMS413-HUB.china.huawei.com (unknown [172.30.72.60]) by szxga04-in.huawei.com (SkyGuard) with ESMTP id 4FTTFr0xjkz19M2v; Mon, 26 Apr 2021 23:24:16 +0800 (CST) Received: from [10.174.177.244] (10.174.177.244) by DGGEMS413-HUB.china.huawei.com (10.3.19.213) with Microsoft SMTP Server id 14.3.498.0; Mon, 26 Apr 2021 23:26:39 +0800 Subject: Re: arm32: panic in move_freepages (Was [PATCH v2 0/4] arm64: drop pfn_valid_within() and simplify pfn_valid()) To: Mike Rapoport CC: , Andrew Morton , Anshuman Khandual , Ard Biesheuvel , Catalin Marinas , David Hildenbrand , Marc Zyngier , "Mark Rutland" , Mike Rapoport , "Will Deacon" , , , References: <20210421065108.1987-1-rppt@kernel.org> <9aa68d26-d736-3b75-4828-f148964eb7f0@huawei.com> <33fa74c2-f32d-f224-eb30-acdb717179ff@huawei.com> <2a1592ad-bc9d-4664-fd19-f7448a37edc0@huawei.com> <52f7d03b-7219-46bc-c62d-b976bc31ebd5@huawei.com> From: Kefeng Wang Message-ID: <2d879629-3059-fd42-428f-4b7c2a73d698@huawei.com> Date: Mon, 26 Apr 2021 23:26:38 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Language: en-US X-Originating-IP: [10.174.177.244] X-CFilter-Loop: Reflected X-Rspamd-Queue-Id: D228EC0007E0 X-Stat-Signature: w5pfjgofuat9iwkkm4mdwwsje4wfucf1 X-Rspamd-Server: rspam02 Received-SPF: none (huawei.com>: No applicable sender policy available) receiver=imf03; identity=mailfrom; envelope-from=""; helo=szxga04-in.huawei.com; client-ip=45.249.212.190 X-HE-DKIM-Result: none/none X-HE-Tag: 1619450803-366657 Content-Transfer-Encoding: quoted-printable X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 2021/4/26 13:20, Mike Rapoport wrote: > On Sun, Apr 25, 2021 at 03:51:56PM +0800, Kefeng Wang wrote: >> On 2021/4/25 15:19, Mike Rapoport wrote: >> >> On Fri, Apr 23, 2021 at 04:11:16PM +0800, Kefeng Wang wrote: >> >> I tested this patchset(plus arm32 change, like arm64 does) ba= sed on lts >> 5.10=EF=BC=8Cadd >> >> some debug log, the useful info shows below, if we enable HOL= ES_IN_ZONE, no >> panic, >> >> any idea, thanks. >> >> >> Are there any changes on top of 5.10 except for pfn_valid() patch= ? >> Do you see this panic on 5.10 without the changes? >> >> Yes, there are some BSP support for arm board based on 5.10, with or w= ithout >> >> your patch will get same panic, the panic pfn=3Dde600 in the range of >> [dcc00,de00] >> >> which is freed by free_memmap, start_pfn =3D dcc00,=C2=A0 dcc00000 end= _pfn =3D de700, >> de700000 >> >> we see the PC is at PageLRU, same reason like arm64 panic log, >> >> "PageBuddy in move_freepages returns false >> Then we call PageLRU, the macro calls PF_HEAD which is compound_p= age() >> compound_page reads page->compound_head, it is 0xffffffffffffffff= , so it >> resturns 0xfffffffffffffffe - and accessing this address causes c= rash" >> >> Can you see stack backtrace beyond move_freepages_block? >> >> I do some oom test, so the log is about memory allocate, >> >> [] (move_freepages_block) from [] >> (steal_suitable_fallback+0x174/0x1f4) >> >> [] (steal_suitable_fallback) from [] (get_page_fro= m_freelist+0x490/0x9a4) > Hmm, this is called with a page from free list, having a page from a fr= eed > part of the memory map passed to steal_suitable_fallback() means that t= here > is an issue with creation of the free list. > > Can you please add "memblock=3Ddebug" to the kernel command line and po= st the > log? Here is the log, CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=3D1ac5387d CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache OF: fdt: Machine model: HISI-CA9 memblock_add: [0x80a00000-0x855fffff] early_init_dt_scan_memory+0x11c/0x1= 88 memblock_add: [0x86a00000-0x87dfffff] early_init_dt_scan_memory+0x11c/0x1= 88 memblock_add: [0x8bd00000-0x8c4fffff] early_init_dt_scan_memory+0x11c/0x1= 88 memblock_add: [0x8e300000-0x8ecfffff] early_init_dt_scan_memory+0x11c/0x1= 88 memblock_add: [0x90d00000-0xbfffffff] early_init_dt_scan_memory+0x11c/0x1= 88 memblock_add: [0xcc000000-0xdc9fffff] early_init_dt_scan_memory+0x11c/0x1= 88 memblock_add: [0xe0800000-0xe0bfffff] early_init_dt_scan_memory+0x11c/0x1= 88 memblock_add: [0xf5300000-0xf5bfffff] early_init_dt_scan_memory+0x11c/0x1= 88 memblock_add: [0xf5c00000-0xf6ffffff] early_init_dt_scan_memory+0x11c/0x1= 88 memblock_add: [0xfe100000-0xfebfffff] early_init_dt_scan_memory+0x11c/0x1= 88 memblock_add: [0xfec00000-0xffffffff] early_init_dt_scan_memory+0x11c/0x1= 88 memblock_add: [0xde700000-0xde9fffff] early_init_dt_scan_memory+0x11c/0x1= 88 memblock_add: [0xf4b00000-0xf52fffff] early_init_dt_scan_memory+0x11c/0x1= 88 memblock_add: [0xfda00000-0xfe0fffff] early_init_dt_scan_memory+0x11c/0x1= 88 memblock_reserve: [0x80a01000-0x80a02d2e] setup_arch+0x68/0x5c4 Malformed early option 'vecpage_wrprotect' Memory policy: Data cache writealloc memblock_reserve: [0x80b00000-0x812e8057] arm_memblock_init+0x34/0x14c memblock_reserve: [0x83000000-0x84ffffff] arm_memblock_init+0x100/0x14c memblock_reserve: [0x80a04000-0x80a07fff] arm_memblock_init+0xa0/0x14c memblock_reserve: [0x80a00000-0x80a02fff] hisi_mem_reserve+0x14/0x30 MEMBLOCK configuration: =C2=A0memory size =3D 0x4c0fffff reserved size =3D 0x027ef058 =C2=A0memory.cnt=C2=A0 =3D 0xa =C2=A0memory[0x0]=C2=A0=C2=A0=C2=A0 [0x80a00000-0x855fffff], 0x04c00000 = bytes flags: 0x0 =C2=A0memory[0x1]=C2=A0=C2=A0=C2=A0 [0x86a00000-0x87dfffff], 0x01400000 = bytes flags: 0x0 =C2=A0memory[0x2]=C2=A0=C2=A0=C2=A0 [0x8bd00000-0x8c4fffff], 0x00800000 = bytes flags: 0x0 =C2=A0memory[0x3]=C2=A0=C2=A0=C2=A0 [0x8e300000-0x8ecfffff], 0x00a00000 = bytes flags: 0x0 =C2=A0memory[0x4]=C2=A0=C2=A0=C2=A0 [0x90d00000-0xbfffffff], 0x2f300000 = bytes flags: 0x0 =C2=A0memory[0x5]=C2=A0=C2=A0=C2=A0 [0xcc000000-0xdc9fffff], 0x10a00000 = bytes flags: 0x0 =C2=A0memory[0x6]=C2=A0=C2=A0=C2=A0 [0xde700000-0xde9fffff], 0x00300000 = bytes flags: 0x0 =C2=A0memory[0x7]=C2=A0=C2=A0=C2=A0 [0xe0800000-0xe0bfffff], 0x00400000 = bytes flags: 0x0 =C2=A0memory[0x8]=C2=A0=C2=A0=C2=A0 [0xf4b00000-0xf6ffffff], 0x02500000 = bytes flags: 0x0 =C2=A0memory[0x9]=C2=A0=C2=A0=C2=A0 [0xfda00000-0xfffffffe], 0x025fffff = bytes flags: 0x0 =C2=A0reserved.cnt=C2=A0 =3D 0x4 =C2=A0reserved[0x0]=C2=A0=C2=A0=C2=A0 [0x80a00000-0x80a02fff], 0x0000300= 0 bytes flags: 0x0 =C2=A0reserved[0x1]=C2=A0=C2=A0=C2=A0 [0x80a04000-0x80a07fff], 0x0000400= 0 bytes flags: 0x0 =C2=A0reserved[0x2]=C2=A0=C2=A0=C2=A0 [0x80b00000-0x812e8057], 0x007e805= 8 bytes flags: 0x0 =C2=A0reserved[0x3]=C2=A0=C2=A0=C2=A0 [0x83000000-0x84ffffff], 0x0200000= 0 bytes flags: 0x0 memblock_alloc_try_nid: 2097152 bytes align=3D0x200000 nid=3D-1=20 from=3D0x00000000 max_addr=3D0x00000000 early_alloc+0x20/0x4c memblock_reserve: [0xb0000000-0xb01fffff]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 4096 bytes align=3D0x1000 nid=3D-1 from=3D0x00000= 000=20 max_addr=3D0x00000000 early_alloc+0x20/0x4c memblock_reserve: [0xaffff000-0xafffffff]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 40 bytes align=3D0x4 nid=3D-1 from=3D0x00000000=20 max_addr=3D0x00000000 iotable_init+0x34/0xf0 memblock_reserve: [0xafffefd8-0xafffefff]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 4096 bytes align=3D0x1000 nid=3D-1 from=3D0x00000= 000=20 max_addr=3D0x00000000 early_alloc+0x20/0x4c memblock_reserve: [0xafffd000-0xafffdfff]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 4096 bytes align=3D0x1000 nid=3D-1 from=3D0x00000= 000=20 max_addr=3D0x00000000 early_alloc+0x20/0x4c memblock_reserve: [0xafffc000-0xafffcfff]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 4096 bytes align=3D0x1000 nid=3D-1 from=3D0x00000= 000=20 max_addr=3D0x00000000 early_alloc+0x20/0x4c memblock_reserve: [0xafffb000-0xafffbfff]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 4096 bytes align=3D0x1000 nid=3D-1 from=3D0x00000= 000=20 max_addr=3D0x00000000 early_alloc+0x20/0x4c memblock_reserve: [0xafffa000-0xafffafff]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 384 bytes align=3D0x20 nid=3D0 from=3D0x00000000=20 max_addr=3D0x00000000 sparse_init_nid+0x34/0x1d8 memblock_reserve: [0xafffee40-0xafffefbf]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_exact_nid_raw: 12582912 bytes align=3D0x80000 nid=3D0=20 from=3D0xc09fffff max_addr=3D0x00000000 sparse_init_nid+0xec/0x1d8 memblock_reserve: [0xaf380000-0xaff7ffff]=20 memblock_alloc_range_nid+0x104/0x13c Zone ranges: =C2=A0 Normal=C2=A0=C2=A0 [mem 0x0000000080a00000-0x00000000b01fffff] =C2=A0 HighMem=C2=A0 [mem 0x00000000b0200000-0x00000000ffffefff] Movable zone start for each node Early memory node ranges =C2=A0 node=C2=A0=C2=A0 0: [mem 0x0000000080a00000-0x00000000855fffff] =C2=A0 node=C2=A0=C2=A0 0: [mem 0x0000000086a00000-0x0000000087dfffff] =C2=A0 node=C2=A0=C2=A0 0: [mem 0x000000008bd00000-0x000000008c4fffff] =C2=A0 node=C2=A0=C2=A0 0: [mem 0x000000008e300000-0x000000008ecfffff] =C2=A0 node=C2=A0=C2=A0 0: [mem 0x0000000090d00000-0x00000000bfffffff] =C2=A0 node=C2=A0=C2=A0 0: [mem 0x00000000cc000000-0x00000000dc9fffff] =C2=A0 node=C2=A0=C2=A0 0: [mem 0x00000000de700000-0x00000000de9fffff] =C2=A0 node=C2=A0=C2=A0 0: [mem 0x00000000e0800000-0x00000000e0bfffff] =C2=A0 node=C2=A0=C2=A0 0: [mem 0x00000000f4b00000-0x00000000f6ffffff] =C2=A0 node=C2=A0=C2=A0 0: [mem 0x00000000fda00000-0x00000000ffffefff] Zeroed struct page in unavailable ranges: 513 pages Initmem setup node 0 [mem 0x0000000080a00000-0x00000000ffffefff] On node 0 totalpages: 311551 =C2=A0 Normal zone: 1230 pages used for memmap =C2=A0 Normal zone: 0 pages reserved =C2=A0 Normal zone: 157440 pages, LIFO batch:31 =C2=A0 HighMem zone: 154111 pages, LIFO batch:31 memblock_alloc_try_nid: 32 bytes align=3D0x20 nid=3D-1 from=3D0x00000000=20 max_addr=3D0x00000000 setup_arch+0x440/0x5c4 memblock_reserve: [0xafffee20-0xafffee3f]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 32 bytes align=3D0x20 nid=3D-1 from=3D0x00000000=20 max_addr=3D0x00000000 setup_arch+0x440/0x5c4 memblock_reserve: [0xafffee00-0xafffee1f]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 32 bytes align=3D0x20 nid=3D-1 from=3D0x00000000=20 max_addr=3D0x00000000 setup_arch+0x440/0x5c4 memblock_reserve: [0xafffede0-0xafffedff]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 32 bytes align=3D0x20 nid=3D-1 from=3D0x00000000=20 max_addr=3D0x00000000 setup_arch+0x440/0x5c4 memblock_reserve: [0xafffedc0-0xafffeddf]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 32 bytes align=3D0x20 nid=3D-1 from=3D0x00000000=20 max_addr=3D0x00000000 setup_arch+0x440/0x5c4 memblock_reserve: [0xafffeda0-0xafffedbf]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 32 bytes align=3D0x20 nid=3D-1 from=3D0x00000000=20 max_addr=3D0x00000000 setup_arch+0x440/0x5c4 memblock_reserve: [0xafffed80-0xafffed9f]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 32 bytes align=3D0x20 nid=3D-1 from=3D0x00000000=20 max_addr=3D0x00000000 setup_arch+0x440/0x5c4 memblock_reserve: [0xafffed60-0xafffed7f]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 32 bytes align=3D0x20 nid=3D-1 from=3D0x00000000=20 max_addr=3D0x00000000 setup_arch+0x440/0x5c4 memblock_reserve: [0xafffed40-0xafffed5f]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 32 bytes align=3D0x20 nid=3D-1 from=3D0x00000000=20 max_addr=3D0x00000000 setup_arch+0x440/0x5c4 memblock_reserve: [0xafffed20-0xafffed3f]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 32 bytes align=3D0x20 nid=3D-1 from=3D0x00000000=20 max_addr=3D0x00000000 setup_arch+0x440/0x5c4 memblock_reserve: [0xafffed00-0xafffed1f]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 22396 bytes align=3D0x4 nid=3D-1 from=3D0x0000000= 0=20 max_addr=3D0x00000000 early_init_dt_alloc_memory_arch+0x30/0x64 memblock_reserve: [0xafff4884-0xafff9fff]=20 memblock_alloc_range_nid+0x104/0x13c [dts]:cpu type is 1380 memblock_alloc_try_nid: 404 bytes align=3D0x20 nid=3D-1 from=3D0x00000000= =20 max_addr=3D0x00000000 memblock_alloc.constprop.8+0x1c/0x24 memblock_reserve: [0xafffeb60-0xafffecf3]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 404 bytes align=3D0x20 nid=3D-1 from=3D0x00000000= =20 max_addr=3D0x00000000 memblock_alloc.constprop.8+0x1c/0x24 memblock_reserve: [0xafffe9c0-0xafffeb53]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 4096 bytes align=3D0x1000 nid=3D-1 from=3D0x00000= 000=20 max_addr=3D0x00000000 memblock_alloc+0x18/0x20 memblock_reserve: [0xafff3000-0xafff3fff]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 4096 bytes align=3D0x20 nid=3D-1 from=3D0x0000000= 0=20 max_addr=3D0x00000000 memblock_alloc+0x18/0x20 memblock_reserve: [0xafff2000-0xafff2fff]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 278528 bytes align=3D0x1000 nid=3D-1 from=3D0xc09= fffff=20 max_addr=3D0x00000000 pcpu_dfl_fc_alloc+0x28/0x34 memblock_reserve: [0xaffae000-0xafff1fff]=20 memblock_alloc_range_nid+0x104/0x13c memblock_free: [0xaffbf000-0xaffbefff] pcpu_embed_first_chunk+0x5ec/0x6a8 memblock_free: [0xaffd0000-0xaffcffff] pcpu_embed_first_chunk+0x5ec/0x6a8 memblock_free: [0xaffe1000-0xaffe0fff] pcpu_embed_first_chunk+0x5ec/0x6a8 memblock_free: [0xafff2000-0xafff1fff] pcpu_embed_first_chunk+0x5ec/0x6a8 percpu: Embedded 17 pages/cpu s37044 r8192 d24396 u69632 memblock_alloc_try_nid: 4 bytes align=3D0x20 nid=3D-1 from=3D0x00000000=20 max_addr=3D0x00000000 memblock_alloc+0x18/0x20 memblock_reserve: [0xafffefc0-0xafffefc3]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 4 bytes align=3D0x20 nid=3D-1 from=3D0x00000000=20 max_addr=3D0x00000000 memblock_alloc+0x18/0x20 memblock_reserve: [0xafffe9a0-0xafffe9a3]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 16 bytes align=3D0x20 nid=3D-1 from=3D0x00000000=20 max_addr=3D0x00000000 memblock_alloc+0x18/0x20 memblock_reserve: [0xafffe980-0xafffe98f]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 16 bytes align=3D0x20 nid=3D-1 from=3D0x00000000=20 max_addr=3D0x00000000 memblock_alloc+0x18/0x20 memblock_reserve: [0xafffe960-0xafffe96f]=20 memblock_alloc_range_nid+0x104/0x13c pcpu-alloc: s37044 r8192 d24396 u69632 alloc=3D17*4096 pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 memblock_alloc_try_nid: 128 bytes align=3D0x20 nid=3D-1 from=3D0x00000000= =20 max_addr=3D0x00000000 memblock_alloc+0x18/0x20 memblock_reserve: [0xafffe8e0-0xafffe95f]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 92 bytes align=3D0x20 nid=3D-1 from=3D0x00000000=20 max_addr=3D0x00000000 memblock_alloc+0x18/0x20 memblock_reserve: [0xafffe880-0xafffe8db]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 384 bytes align=3D0x20 nid=3D-1 from=3D0x00000000= =20 max_addr=3D0x00000000 memblock_alloc+0x18/0x20 memblock_reserve: [0xafffe700-0xafffe87f]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 388 bytes align=3D0x20 nid=3D-1 from=3D0x00000000= =20 max_addr=3D0x00000000 memblock_alloc+0x18/0x20 memblock_reserve: [0xafffe560-0xafffe6e3]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 96 bytes align=3D0x20 nid=3D-1 from=3D0x00000000=20 max_addr=3D0x00000000 memblock_alloc+0x18/0x20 memblock_reserve: [0xafffe500-0xafffe55f]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 92 bytes align=3D0x20 nid=3D-1 from=3D0x00000000=20 max_addr=3D0x00000000 memblock_alloc+0x18/0x20 memblock_reserve: [0xafffe4a0-0xafffe4fb]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 768 bytes align=3D0x20 nid=3D-1 from=3D0x00000000= =20 max_addr=3D0x00000000 memblock_alloc+0x18/0x20 memblock_reserve: [0xafffe1a0-0xafffe49f]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 772 bytes align=3D0x20 nid=3D-1 from=3D0x00000000= =20 max_addr=3D0x00000000 memblock_alloc+0x18/0x20 memblock_reserve: [0xafff4580-0xafff4883]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 192 bytes align=3D0x20 nid=3D-1 from=3D0x00000000= =20 max_addr=3D0x00000000 memblock_alloc+0x18/0x20 memblock_reserve: [0xafffe0e0-0xafffe19f]=20 memblock_alloc_range_nid+0x104/0x13c memblock_free: [0xafff3000-0xafff3fff] pcpu_embed_first_chunk+0x570/0x6a8 memblock_free: [0xafff2000-0xafff2fff] pcpu_embed_first_chunk+0x58c/0x6a8 Built 1 zonelists, mobility grouping on.=C2=A0 Total pages: 310321 Kernel command line: console=3DttyAMA0,9600n8N lpj=3D8000000=20 initrd=3D0x83000000,0x2000000 maxcpus=3D4 master_cpu=3D1 quiet highres=3D= off=C2=A0=20 oops=3Dpanic vecpage_wrprotect ksm=3D1 ramdisk_size=3D30720 kmemleak=3Dof= f=20 min_loop=3D128 lockd.nlm_tcpport=3D13001 lockd.nlm_udpport=3D13001=20 rdinit=3D/sbin/init root=3D/dev/ram0 vmalloc=3D256M printk: log_buf_len individual max cpu contribution: 4096 bytes printk: log_buf_len total cpu_extra contributions: 12288 bytes printk: log_buf_len min size: 16384 bytes memblock_alloc_try_nid: 32768 bytes align=3D0x4 nid=3D-1 from=3D0x0000000= 0=20 max_addr=3D0x00000000 setup_log_buf+0xe4/0x404 memblock_reserve: [0xaffa6000-0xaffadfff]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 12288 bytes align=3D0x4 nid=3D-1 from=3D0x0000000= 0=20 max_addr=3D0x00000000 setup_log_buf+0x130/0x404 memblock_reserve: [0xaffa3000-0xaffa5fff]=20 memblock_alloc_range_nid+0x104/0x13c memblock_alloc_try_nid: 90112 bytes align=3D0x4 nid=3D-1 from=3D0x0000000= 0=20 max_addr=3D0x00000000 setup_log_buf+0x180/0x404 memblock_reserve: [0xaff8d000-0xaffa2fff]=20 memblock_alloc_range_nid+0x104/0x13c printk: log_buf_len: 32768 bytes printk: early log buf free: 2492(15%) memblock_alloc_try_nid: 524288 bytes align=3D0x20 nid=3D-1 from=3D0x00000= 000=20 max_addr=3D0x00000000 alloc_large_system_hash+0x1b0/0x2e8 memblock_reserve: [0xaf300000-0xaf37ffff]=20 memblock_alloc_range_nid+0x104/0x13c Dentry cache hash table entries: 131072 (order: 7, 524288 bytes, linear) memblock_alloc_try_nid: 262144 bytes align=3D0x20 nid=3D-1 from=3D0x00000= 000=20 max_addr=3D0x00000000 alloc_large_system_hash+0x1b0/0x2e8 memblock_reserve: [0xaf2c0000-0xaf2fffff]=20 memblock_alloc_range_nid+0x104/0x13c Inode-cache hash table entries: 65536 (order: 6, 262144 bytes, linear) mem auto-init: stack:off, heap alloc:off, heap free:off memblock_free: [0xaf430000-0xaf453fff] mem_init+0x154/0x238 memblock_free: [0xaf510000-0xaf545fff] mem_init+0x154/0x238 memblock_free: [0xaf560000-0xaf57ffff] mem_init+0x154/0x238 memblock_free: [0xafd98000-0xafdcdfff] mem_init+0x154/0x238 memblock_free: [0xafdd8000-0xafdfffff] mem_init+0x154/0x238 memblock_free: [0xafe18000-0xafe7ffff] mem_init+0x154/0x238 memblock_free: [0xafee0000-0xafefffff] mem_init+0x154/0x238 Memory: 1191160K/1246204K available (4096K kernel code, 436K rwdata,=20 1120K rodata, 1024K init, 491K bss, 55044K reserved, 0K cma-reserved,=20 616444K highmem) >> [] (get_page_from_freelist) from [] (__alloc_pages= _nodemask+0x188/0xc08) >> [] (__alloc_pages_nodemask) from [] (alloc_zeroed_= user_highpage_movable+0x14/0x3c) >> [] (alloc_zeroed_user_highpage_movable) from [] (h= andle_mm_fault+0x254/0xac8) >> [] (handle_mm_fault) from [] (do_page_fault+0x228/= 0x2f4) >> [] (do_page_fault) from [] (do_DataAbort+0x48/0xd0= ) >> [] (do_DataAbort) from [] (__dabt_usr+0x40/0x60) >> >> >> >> Zone ranges: >> =C2=A0 Normal=C2=A0=C2=A0 [mem 0x0000000080a00000-0x00000000b= 01fffff] >> =C2=A0 HighMem=C2=A0 [mem 0x00000000b0200000-0x00000000ffffef= ff] >> Movable zone start for each node >> Early memory node ranges >> =C2=A0 node=C2=A0=C2=A0 0: [mem 0x0000000080a00000-0x00000000= 855fffff] >> =C2=A0 node=C2=A0=C2=A0 0: [mem 0x0000000086a00000-0x00000000= 87dfffff] >> =C2=A0 node=C2=A0=C2=A0 0: [mem 0x000000008bd00000-0x00000000= 8c4fffff] >> =C2=A0 node=C2=A0=C2=A0 0: [mem 0x000000008e300000-0x00000000= 8ecfffff] >> =C2=A0 node=C2=A0=C2=A0 0: [mem 0x0000000090d00000-0x00000000= bfffffff] >> =C2=A0 node=C2=A0=C2=A0 0: [mem 0x00000000cc000000-0x00000000= dc9fffff] >> =C2=A0 node=C2=A0=C2=A0 0: [mem 0x00000000de700000-0x00000000= de9fffff] >> =C2=A0 node=C2=A0=C2=A0 0: [mem 0x00000000e0800000-0x00000000= e0bfffff] >> =C2=A0 node=C2=A0=C2=A0 0: [mem 0x00000000f4b00000-0x00000000= f6ffffff] >> =C2=A0 node=C2=A0=C2=A0 0: [mem 0x00000000fda00000-0x00000000= ffffefff] >> >> ----> free_memmap, start_pfn =3D 85800,=C2=A0 85800000 end_pf= n =3D 86a00, 86a00000 >> ----> free_memmap, start_pfn =3D 8c800,=C2=A0 8c800000 end_pf= n =3D 8e300, 8e300000 >> ----> free_memmap, start_pfn =3D 8f000,=C2=A0 8f000000 end_pf= n =3D 90000, 90000000 >> ----> free_memmap, start_pfn =3D dcc00,=C2=A0 dcc00000 end_pf= n =3D de700, de700000 >> ----> free_memmap, start_pfn =3D dec00,=C2=A0 dec00000 end_pf= n =3D e0000, e0000000 >> ----> free_memmap, start_pfn =3D e0c00,=C2=A0 e0c00000 end_pf= n =3D e4000, e4000000 >> ----> free_memmap, start_pfn =3D f7000,=C2=A0 f7000000 end_pf= n =3D f8000, f8000000 >> =3D=3D=3D >move_freepages: start_pfn/end_pfn [de601, de7ff], = [de600000, de7ff000] >> :=C2=A0 pfn =3Dde600 pfn2phy =3D de600000 , page =3D ef3cc000= , page-flags =3D ffffffff >> 8<--- cut here --- >> Unable to handle kernel paging request at virtual address fff= ffffe >> pgd =3D 5dd50df5 >> [fffffffe] *pgd=3Daffff861, *pte=3D00000000, *ppte=3D00000000 >> Internal error: Oops: 37 [#1] SMP ARM >> Modules linked in: gmac(O) >> CPU: 2 PID: 635 Comm: test-oom Tainted: G=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 O=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 5= .10.0+ #31 >> Hardware name: Hisilicon A9 >> PC is at move_freepages_block+0x150/0x278 >> LR is at move_freepages_block+0x150/0x278 >> pc : []=C2=A0=C2=A0=C2=A0 lr : []=C2=A0=C2= =A0=C2=A0 psr: 200e0393 >> sp : c4179cf8=C2=A0 ip : 00000000=C2=A0 fp : 00000001 >> r10: c4179d58=C2=A0 r9 : 000de7ff=C2=A0 r8 : 00000000 >> r7 : c0863280=C2=A0 r6 : 000de600=C2=A0 r5 : 000de600=C2=A0 r= 4 : ef3cc000 >> r3 : ffffffff=C2=A0 r2 : 00000000=C2=A0 r1 : ef5d069c=C2=A0 r= 0 : fffffffe >> Flags: nzCv=C2=A0 IRQs off=C2=A0 FIQs on=C2=A0 Mode SVC_32=C2= =A0 ISA ARM=C2=A0 Segment user >> Control: 1ac5387d=C2=A0 Table: 83b0c04a=C2=A0 DAC: 55555555 >> Process test-oom (pid: 635, stack limit =3D 0x25d667df) >> >>