Announcement

Collapse
No announcement yet.

Linux Adding New Control Since Its Splitlock Detector Is Wrecking Some Steam Play Games

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Linux Adding New Control Since Its Splitlock Detector Is Wrecking Some Steam Play Games

    Phoronix: Linux Adding New Control Since Its Splitlock Detector Is Wrecking Some Steam Play Games

    Back in 2020 the Linux kernel added a split-lock detector since when they occur an atomic instruction spanning multiple cache lines and requiring a global bus lock is needed. This has an unfortunate heavy impact on the system and thus the detector was added to report it to the kernel log when a split-lock occurs. But earlier this year starting with Linux 5.19, kernel developers decided to "make life miserable" and intentionally slow down bad behaving apps that abuse split-locks. That in turn has caused problems for some games -- so far select Windows games running under Steam Play -- and thus a new kernel knob is being added to more easily adjust the behavior...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    1. Introduce code to make bad behaving applications slow
    2. Bad behaving app becomes slow
    3. Introduce setting do disable former code

    Mission failed successfully

    Comment


    • #3
      Originally posted by -MacNuke- View Post
      1. Introduce code to make bad behaving applications slow
      2. Bad behaving app becomes slow
      3. Introduce setting do disable former code

      Mission failed successfully
      Yes, but the flawed assumption was that inflicting pain would force the developers to fix the offending code. Since this is a binary-only game that's not actually supported on Linux, there's little/no chance of that happening.

      It'd be interesting if the behavior could be changed on a per-app basis. Then, WINE could just disable it and we could have it enabled everywhere else.

      Comment


      • #4
        Originally posted by coder View Post
        WINE could just disable it and we could have it enabled everywhere else.
        Seems to be a legit measure.

        Comment


        • #5
          Somehow I missed that knob. Need to test it with PlanetSide 2 - in heavy battles it drops to 10 FPS with 1-sec freezes on RX6800XT and 5950X.

          Comment


          • #6
            BTW Hello to all of you, again.
            I was pressed for time lately...
            How to enable MGLRU as default the rightâ„¢ way with 6.1?

            Comment


            • #7
              Originally posted by coder View Post
              Yes, but the flawed assumption was that inflicting pain would force the developers to fix the offending code. Since this is a binary-only game that's not actually supported on Linux, there's little/no chance of that happening.

              It'd be interesting if the behavior could be changed on a per-app basis. Then, WINE could just disable it and we could have it enabled everywhere else.
              Might be possible via eBPF or some similar mechanism, but yeah having it toggled on a per app basis would be ideal (even without wine, there are Linux binaries that may have similar issues).

              I would expect with it being a sysctl its less of a concern at least on steam deck like devices as they can just toggle the behaviour when big picture/stream is running, but yeah not ideal.
              Last edited by mdedetrich; 13 December 2022, 08:56 AM.

              Comment


              • #8
                WIne won't be able to set it itself because it'll require root.

                Comment


                • #9
                  Does the 'split_lock_detect=off' kernel option work in pre 6.2 kernels?

                  Comment


                  • #10
                    Originally posted by Beherit View Post
                    Does the 'split_lock_detect=off' kernel option work in pre 6.2 kernels?
                    Yes it does.
                    Michael Larabel
                    https://www.michaellarabel.com/

                    Comment

                    Working...
                    X