Thread (27 messages) 27 messages, 4 authors, 2020-02-07

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.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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help