Re: [PATCH v5 17/17] powerpc/32s: Enable CONFIG_VMAP_STACK
From: Christophe Leroy <hidden>
Date: 2020-02-07 17:16:26
Also in:
linux-mm, lkml
On 02/07/2020 01:44 PM, Guenter Roeck wrote:
On 2/7/20 5:29 AM, Christophe Leroy wrote:quoted
On 02/07/2020 01:08 PM, Guenter Roeck wrote:quoted
On 2/7/20 12:28 AM, Christophe Leroy wrote:quoted
On 02/07/2020 06:13 AM, Christophe Leroy wrote:quoted
Le 06/02/2020 à 21:31, Guenter Roeck a écrit :quoted
On Sat, Dec 21, 2019 at 08:32:38AM +0000, Christophe Leroy wrote:quoted
A few changes to retrieve DAR and DSISR from struct regs instead of retrieving them directly, as they may have changed due to a TLB miss. Also modifies hash_page() and friends to work with virtual data addresses instead of physical ones. Same on load_up_fpu() and load_up_altivec(). Signed-off-by: Christophe Leroy <redacted>This patch results in qemu boot failures (mac99 with pmac32_defconfig). Images fail silently; there is no console output. Reverting the patch fixes the problem. Bisect log is attached below. Assuming this was tested on real hardware, am I correct to assume that qemu for ppc32 (more specifically, qemu's mac99 and g3beige machines) no longer works with the upstream kernel ?Before submitting the series, I successfully tested: - Real HW with powerpc 8xx - Real HW with powerpc 832x - Qemu's mac99 I'll re-check the upstream kernel.This is still working for me with the upstream kernel:Interesting. What is your kernel configuration, your qemu version, and your qemu command line ?Config is pmac32_defconfig + CONFIG_DEVTMPFS (But kernel also boots without CONFIG_DEVTMPFS) QEMU emulator version 2.11.2 qemu-system-ppc -kernel vmlinux -M mac99 -initrd rootfs.cpio.gz -s -m 1024 Works with both GCC 5.5 and GCC 8.1Actually, the problem is that I have locking selftest options enabled in my tests. Everything works if I disable those. The "culprit" seems to be CONFIG_PROVE_LOCKING. Can you retest with CONFIG_PROVE_LOCKING=y ?
With CONFIG_PROVE_LOCKING, I get a deadlock after: [...] Kernel virtual memory layout: * 0xffbcf000..0xfffff000 : fixmap * 0xff400000..0xff800000 : highmem PTEs * 0xfeb36000..0xff400000 : early ioremap * 0xf1000000..0xfeb36000 : vmalloc & ioremap SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 Running RCU self tests NR_IRQS: 512, nr_irqs: 512, preallocated irqs: 16 mpic: Resetting mpic: Setting up MPIC " MPIC 1 " version 1.2 at 80040000, max 1 CPUs mpic: ISU size: 64, shift: 6, mask: 3f mpic: Initializing for 64 sources GMT Delta read from XPRAM: 0 minutes, DST: on time_init: decrementer frequency = 100.000000 MHz time_init: processor frequency = 900.000000 MHz clocksource: timebase: mask: 0xffffffffffffffff max_cycles: 0x171024e7e0, max_idle_ns: 440795205315 ns clocksource: timebase mult[a000000] shift[24] registered clockevent: decrementer mult[1999999a] shift[32] cpu[0] Console: colour dummy device 80x25 Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar Please test the patch I'll send out in a few minutes. Thanks Christophe