Re: [PATCH v3 31/41] powerpc/32: Dismantle EXC_XFER_STD/LITE/TEMPLATE
From: Stan Johnson <hidden>
Date: 2021-08-01 06:58:55
On 7/31/21 7:21 PM, Finn Thain wrote:
On Sat, 31 Jul 2021, Christophe Leroy wrote:quoted
quoted
Stan Johnson contacted me about a regression in mainline that he observed on his G3 Powerbooks. Using 'git bisect' we determined that this patch was the cause of the regression, i.e. commit 4c0104a83fc3 ("powerpc/32: Dismantle EXC_XFER_STD/LITE/TEMPLATE"). When testing 4c0104a83fc and all subsequent builds, various user processes were liable to segfault. Here is the console log that Stan provided:Hi, i will be able to look at that more in details next week, however I have a few preliminary qurstions. Can you reliabily reproduce the problem with the said commit, and can you reliabily run without problem with the parent commit ?Yes and yes. (I already asked Stan to establish those things before I contacted the list.)quoted
I'm asking because at first look that commit doesn't bring any functionnal change. Coukd you provide your .config ?Please see attached. My understanding is that all of Stan's builds were performed like this: $ cp ../dot-config-powermac-5.13 .config $ make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu- -j4 clean olddefconfig vmlinux
Yes, that's right.
quoted
Could you try without CONFIG_VMAP_STACKStan, would you please test the following build: $ git checkout v5.13 $ cp ../dot-config-powermac-5.13 .config $ scripts/config -d CONFIG_VMAP_STACK $ make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu- -j4 clean olddefconfig vmlinux
Please see the attached serial console log (four boots): 1) v5.13-mac, CONFIG_VMAP_STACK=y, mem=512M (fails) 2) v5.13-mac, CONFIG_VMAP_STACK=y, mem=384M (works) 3) v5.13-mac, CONFIG_VMAP_STACK=n, mem=512M (works) 4) v5.13-mac, CONFIG_VMAP_STACK=n, mem=384M (works) My apologies if the extra boots were not needed (due to the time difference, I'm trying to anticipate future requests). Cutting and pasting Finn's commands above builds a new kernel (5.13.0-pmac) with the following in .config: $ fgrep VMAP .config CONFIG_HAVE_ARCH_VMAP_STACK=y CONFIG_VMAP_STACK=y I'm not sure what "scripts/config -d CONFIG_VMAP_STACK" does, since "CONFIG_VMAP_STACK=y" is in "../dot-config-powermac-5.13 .config". 1) I booted the resulting kernel on a 512M Wallstreet (WS-1) with its default memory setting (i.e. not specifying a mem= parameter in BootX); that boot proceed to a login prompt (serial console and fb console wdm prompt). There were multiple errors, and the X login screen hung. 2) Repeating 1) but with "mem=384M" passed to the kernel, everything worked as expected (X worked, no errors logged). Next, I edited .config and changed "CONFIG_VMAP_STACK=y" to "CONFIG_VMAP_STACK=n", then I ran: "make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu- -j4 clean olddefconfig vmlinux" The resulting .config does not set CONFIG_VMAP_STACK: $ fgrep VMAP .config CONFIG_HAVE_ARCH_VMAP_STACK=y # CONFIG_VMAP_STACK is not set 3) Same as 1 (512M) but with CONFIG_VMAP_STACK not set in v5.13. Everything works (no problems with X, no errors logged). 4) Same as 2 (384M) but with CONFIG_VMAP_STACK not set in v5.13. Everything works (no problems with X, no errors logged). Please let me know if you need anything else. thanks for investigating this problem -Stan Johnson
Attachments
- WS-1_serial_console.txt.xz [application/octet-stream] 10428 bytes