Re: [RFC][PATCH 00/17] Fix up the recent SRSO patches

From: a-development
Date: Tue Apr 16 2024 - 02:59:05 EST


It worked, it worked!

https://up.tail.ws/txt/working-suspend.txt

I've tested it now quite some time.
But, I also had to start using 6.6.26-1-lts because my magewell capture card wouldn't without.

Thanks again!

On 26.03.2024 23:21, Borislav Petkov wrote:
Whoops,

this fell through the cracks. Sorry about that.

On Mon, Jan 29, 2024 at 06:18:00PM +0000, a-development@xxxxxxxxx wrote:
I have the feeling that something else is amiss.
Currently under 6.7.2-2-cachyos with srso=off.
https://0x0.st/HDqP.txt

Yah, your tasks refuse to freeze on suspend and they have this fuse
stuff in the stacktrace:

[ 6346.492593] task:btop state:D stack:0 pid:279617
tgid:1548 ppid:1531 flags:0x00004006
[ 6346.492600] Call Trace:
[ 6346.492602] <TASK>
[ 6346.492607] __schedule+0xd44/0x1af0
[ 6346.492614] ? srso_alias_return_thunk+0x5/0xfbef5
[ 6346.492617] ? __wake_up+0x9d/0xc0
[ 6346.492622] schedule+0x32/0xd0
[ 6346.492627] request_wait_answer+0xd0/0x2a0 [fuse
db37c699d94393e946cf93306449ea0f307959a1]
[ 6346.492638] ? __pfx_autoremove_wake_function+0x10/0x10
[ 6346.492643] fuse_simple_request+0x21c/0x390 [fuse
db37c699d94393e946cf93306449ea0f307959a1]
[ 6346.492653] fuse_statfs+0xf2/0x160 [fuse
db37c699d94393e946cf93306449ea0f307959a1]
[ 6346.492667] statfs_by_dentry+0x67/0x90


Now I feel, further communication is rather selfish, as a clean environment
is hard to provide.
In any case, my FUSE arguments are sshfs -o kernel_cache -o auto_cache -o
reconnect \
-o compression=yes -o cache_timeout=600 -o
ServerAliveInterval=30 \
"$source" "$target" -o idmap=user

With this line, I somehow managed to have the FUSE mount infinitely mounted,
even if the device was offline for couple of days.
A followed suspend would fail to freeze.
srso=off would reproducibly work.

Not in your example above. It would fail after a couple of suspend
cycles.

And looking at your splats

[ 6366.524953] ? switch_fpu_return+0x50/0xe0
[ 6366.524956] ? srso_alias_return_thunk+0x5/0xfbef5
^^^^^^^^^^^^^^^^^^^^^^^^
[ 6366.524958] ? exit_to_user_mode_prepare+0x132/0x1f

the right cmdline option to disable it is:

spec_rstack_overflow=off

not

srso=off

:-)

Please provide me a specific version of a kernel I should try in my
configuration to try and reproduce.
I'd prefer a pre-compiled one; if not tell me...
I use archlinux.

Just build the latest released kernel, which is 6.8 now. Take your
.config and use it to build it. The net is full of tutorials how to do
so.

And then try with spec_rstack_overflow=off and let's see what that does.

Please give me a reason to not feel bad about myself.

Don't worry - it's just a machine. :)