Messages in this thread | | | Subject | Re: [PATCH v5 17/17] powerpc/32s: Enable CONFIG_VMAP_STACK | From | Christophe Leroy <> | Date | Fri, 7 Feb 2020 17:16:22 +0000 |
| |
On 02/07/2020 01:44 PM, Guenter Roeck wrote: > On 2/7/20 5:29 AM, Christophe Leroy wrote: >> >> >> On 02/07/2020 01:08 PM, Guenter Roeck wrote: >>> On 2/7/20 12:28 AM, Christophe Leroy wrote: >>>> >>>> >>>> On 02/07/2020 06:13 AM, Christophe Leroy wrote: >>>>> >>>>> >>>>> Le 06/02/2020 à 21:31, Guenter Roeck a écrit : >>>>>> On Sat, Dec 21, 2019 at 08:32:38AM +0000, Christophe Leroy wrote: >>>>>>> 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 <christophe.leroy@c-s.fr> >>>>>> >>>>>> 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.1 >> > Actually, 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
| |