powerpc/mm: Fix WARN_ON with THP NUMA migration
Michael Ellerman
patch-notifications at ellerman.id.au
Mon Oct 22 20:37:44 AEDT 2018
On Sat, 2018-10-13 at 16:48:15 UTC, "Aneesh Kumar K.V" wrote:
> WARNING: CPU: 12 PID: 4322 at /arch/powerpc/mm/pgtable-book3s64.c:76 set_pmd_at+0x4c/0x2b0
> Modules linked in:
> CPU: 12 PID: 4322 Comm: qemu-system-ppc Tainted: G W 4.19.0-rc3-00758-g8f0c636b0542 #36
> NIP: c0000000000872fc LR: c000000000484eec CTR: 0000000000000000
> REGS: c000003fba876fe0 TRAP: 0700 Tainted: G W (4.19.0-rc3-00758-g8f0c636b0542)
> MSR: 900000010282b033 <SF,HV,VEC,VSX,EE,FP,ME,IR,DR,RI,LE,TM[E]> CR: 24282884 XER: 00000000
> CFAR: c000000000484ee8 IRQMASK: 0
> GPR00: c000000000484eec c000003fba877268 c000000001f0ec00 c000003fbd229f80
> GPR04: 00007c8fe8e00000 c000003f864c5a38 860300853e0000c0 0000000000000080
> GPR08: 0000000080000000 0000000000000001 0401000000000080 0000000000000001
> GPR12: 0000000000002000 c000003fffff5400 c000003fce292000 00007c9024570000
> GPR16: 0000000000000000 0000000000ffffff 0000000000000001 c000000001885950
> GPR20: 0000000000000000 001ffffc0004807c 0000000000000008 c000000001f49d05
> GPR24: 00007c8fe8e00000 c0000000020f2468 ffffffffffffffff c000003fcd33b090
> GPR28: 00007c8fe8e00000 c000003fbd229f80 c000003f864c5a38 860300853e0000c0
> NIP [c0000000000872fc] set_pmd_at+0x4c/0x2b0
> LR [c000000000484eec] do_huge_pmd_numa_page+0xb1c/0xc20
> Call Trace:
> [c000003fba877268] [c00000000045931c] mpol_misplaced+0x1bc/0x230 (unreliable)
> [c000003fba8772c8] [c000000000484eec] do_huge_pmd_numa_page+0xb1c/0xc20
> [c000003fba877398] [c00000000040d344] __handle_mm_fault+0x5e4/0x2300
> [c000003fba8774d8] [c00000000040f400] handle_mm_fault+0x3a0/0x420
> [c000003fba877528] [c0000000003ff6f4] __get_user_pages+0x2e4/0x560
> [c000003fba877628] [c000000000400314] get_user_pages_unlocked+0x104/0x2a0
> [c000003fba8776c8] [c000000000118f44] __gfn_to_pfn_memslot+0x284/0x6a0
> [c000003fba877748] [c0000000001463a0] kvmppc_book3s_radix_page_fault+0x360/0x12d0
> [c000003fba877838] [c000000000142228] kvmppc_book3s_hv_page_fault+0x48/0x1300
> [c000003fba877988] [c00000000013dc08] kvmppc_vcpu_run_hv+0x1808/0x1b50
> [c000003fba877af8] [c000000000126b44] kvmppc_vcpu_run+0x34/0x50
> [c000003fba877b18] [c000000000123268] kvm_arch_vcpu_ioctl_run+0x288/0x2d0
> [c000003fba877b98] [c00000000011253c] kvm_vcpu_ioctl+0x1fc/0x8c0
> [c000003fba877d08] [c0000000004e9b24] do_vfs_ioctl+0xa44/0xae0
> [c000003fba877db8] [c0000000004e9c44] ksys_ioctl+0x84/0xf0
> [c000003fba877e08] [c0000000004e9cd8] sys_ioctl+0x28/0x80
>
> We removed the pte_protnone check earlier with the understanding that we
> mark the pte invalid before the set_pte/set_pmd usage. But the huge pmd
> autonuma still use the set_pmd_at directly. This is ok because a protnone pte
> won't have translation cache in TLB.
>
> Fixes: da7ad366b497 ("powerpc/mm/book3s: Update pmd_present to look at _PAGE_PRESENT bit")
> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar at linux.ibm.com>
Applied to powerpc next, thanks.
https://git.kernel.org/powerpc/c/dd0e144a632bcf2b5a6f04e2628e32
cheers
More information about the Linuxppc-dev
mailing list