Hello, Max, Boqun and Paul, On 3/4/2024 4:54 PM, Max Boone wrote: > On Mon Mar 4, 2024 at 4:33 PM UTC, Boqun Feng wrote: >> I haven't seen this issue before, looks to me the stall is caused by >> clear_rseq_cs(), which is basically a put_user(), and I don't have an >> immediate theory, could you share the kernel repo and configuration you >> used, so that I can see if I can reproduce this? (Note I don't have the >> exact device as you do nor an ARM64 Windows system with the exact >> Windows build you are using). > > This happens on the default Windows System for Linux 2 setup, thus the > kernel built with the following sources: > - https://github.com/microsoft/WSL2-Linux-Kernel/tree/linux-msft-wsl-5.15.y FWIW, I use a Windows machine that has WSL2 (kernel version 5.15.133.1-microsoft-standard-WSL2) and I have never experienced any kind of hang. Though, this is a desktop and not a laptop or battery powered device. > > It also happens when I build the kernel myself from a more recent > release: > - https://github.com/maxboone/SQ2-Linux-Kernel-Builds > > Microsoft should have a Development Kit (Volterra) with identical hardware > to mine (and other Surface Pro X, Surface Pro 9 users) that run into the > same issue with WSL2. Right, so at least that's a data point, that its Surface-specific (?). Have you tried to disable power management and see if it occurs? Like disable suspend, disable cpuidle, etc. Have you tried to reproduce the issue with CONFIG_RSEQ=n and see if it happens? Also this github thread looks awfully similar to the github thread you pointed and has the same clear_rseq signature leading to the RCU stall. Over there also it is a hang, but they say the CPU usage is at 100%: https://github.com/microsoft/WSL/issues/8529 thanks, - Joel