firelzrd / bore-scheduler

BORE (Burst-Oriented Response Enhancer) CPU Scheduler
GNU General Public License v2.0
303 stars 15 forks source link

Steam issues #4

Closed VasyaSovari closed 1 year ago

VasyaSovari commented 1 year ago

Hi there. As a once very happy CacULE user, I'm delighted you've continued developing this scheduler. I have, however, hit some issues. System is fully up-to-date EndavourOS (arch) with 5600X/5700XT with amdgpu. I'm running a tkg-bore kernel with greysky zen3 optimisation and all other settings at default

  1. Steam games refusing to launch. They just hang indefinitely. This can be resolved by rebooting, but doesn't happen with any other scheduler, and setup is otherwise identical when testing
  2. Major hitching during play. This was especially notable in Monster Hunter World, where I had 5-10 second pauses during combat. I though my PC had crashed and was surprised when it started again

This is of course not very scientific, but felt it was worth reporting anyway

firelzrd commented 1 year ago

Hi, undeadbydawn. Thank you for the report. Can you paste here your kernel version and BORE version which should be shown by: $ uname -a $ sudo dmesg | grep BORE please so that I can have a little more detailed sight to track down your problem? Also it'll be massively appreciated if you can list up "Steam games" that refuses to launch. Thank you

VasyaSovari commented 1 year ago

Sure thing

Linux Inferno 5.19.9-269-tkg-bore #1 TKG SMP PREEMPT_DYNAMIC Thu, 15 Sep 2022 20:20:17 +0000 x86_64 GNU/Linux 0.052766] BORE (Burst-Oriented Response Enhancer) CPU Scheduler modification 1.4.31.2 by Masahito Suzuki

[EDITED for clarity]

The games that didn't launch were:

Horizon Zero Dawn Monster Hunter World: IceBorne Vampire Survivors (notable in that the 'launcher' launched but the game itself did not.)

The issue, as expected, did not persist on reboot. This has happened a few times

The 'freeze' issue only happened with MHW, largely because it's the only game I was playing at the time. I've mostly been using a tkg-cfs kernel, which presented no such problems

firelzrd commented 1 year ago

Thanks for cooperation. I'll try to reproduce the reported problems myself and will be back to you when the same thing happens to me.

firelzrd commented 1 year ago

What is the output message when you run this, and will you still have the problem after you run it?: $ echo NO_BURST_PENALTY | sudo tee /sys/kernel/debug/sched/features

ptr1337 commented 1 year ago

Do you run Steam beta? I just tried on 6.0 Kernel version to start rocket league (I dont play regularly), did not opened anything. After changing away from Steam Beta, and choosed proton-ge-custom as version it started fine.

VasyaSovari commented 1 year ago

What is the output message when you run this, and will you still have the problem after you run it?: $ echo NO_BURST_PENALTY | sudo tee /sys/kernel/debug/sched/features

I've tried replicating the issues reported and not seen them yet, which is both good and frustrating running that command returned NO_BURST_PENALTY I'll update if the issues recur

VasyaSovari commented 1 year ago

Do you run Steam beta? I just tried on 6.0 Kernel version to start rocket league (I dont play regularly), did not opened anything. After changing away from Steam Beta, and choosed proton-ge-custom as version it started fine.

No beta's here. Neither issue has happened again since the initial report (which was made after the third instance), so I'm stumped as to a cause

firelzrd commented 1 year ago

In that case your kernel has scheduler debug feature enabled in compile-time. NO_BURST_PENALTY temporarily disables BORE mechanism (until next boot) and turns the scheduler into the original CFS behavior. You can switch it back to BORE again by writing BURST_PENALTY on the same file, or rebooting. That means you can switch between CFS and BORE whenever you want to, and immediately observe the difference. When you next encounter the problem like unlaunchable Steam games, please take the chance to try switching to CFS and see if the problem persists. Thank you for your kind cooperation.

VasyaSovari commented 1 year ago

Ok, this is great info. I've set up aliases in my .zshrc to switch between BURST and NO_BURST at will, in the understanding that NO_BURST is identical to running cfs. I'll continue testing and let you know if I run into further issues

VasyaSovari commented 1 year ago

Reported problems have not recurred for several days, so I'm closing this issue

VasyaSovari commented 1 year ago

EndeavourOS running 6.0.7-271-tkg-bore 5800X3D

The permanent hang has returned. Tested on a ton of games. Nothing will launch. I further note that sending NO_BURST_PENALTY to 'features' no longer works to revert to CFS and that file does not contain any BURST_PENALTY command at all.

Going to reboot now to check whether issue persists

VasyaSovari commented 1 year ago

Ok, issue does not persist over reboot, which is a relief

Will update if further problems occur

ptr1337 commented 1 year ago

EndeavourOS running 6.0.7-271-tkg-bore 5800X3D

The permanent hang has returned. Tested on a ton of games. Nothing will launch. I further note that sending NO_BURST_PENALTY to 'features' no longer works to revert to CFS and that file does not contain any BURST_PENALTY command at all.

Going to reboot now to check whether issue persists

If you would read the patch a, you could see you are able to disable or enable bore via sysctl. This stands also in the Kconfig option

sudo sysctl kernel.sched_bore=1 or 0

ptr1337 commented 1 year ago

Did you updated your system with the new openssl? May you are missing a lot of aur packages to rebuild

VasyaSovari commented 1 year ago

Ok, awesome - I'll adjust my aliases accordingly, and [Note to self] make a better effort to read patch notes I'm currently on openssl 3.0.7-2, openssl-1.0 1.0.2.u-1, ,and am installing openssl-1.1 1.1.1.s-2 now

Thank you for the swift response and advice

VasyaSovari commented 1 year ago

Did you updated your system with the new openssl? May you are missing a lot of aur packages to rebuild

Done. This also fixed paru