Announcement

Collapse
No announcement yet.

AMD Linux Driver's LRU Bulk Moves Can Be A Big Help For Demanding Linux Games

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

  • AMD Linux Driver's LRU Bulk Moves Can Be A Big Help For Demanding Linux Games

    Phoronix: AMD Linux Driver's LRU Bulk Moves Can Be A Big Help For Demanding Linux Games

    Sadly not currently queued as a fix for the Linux 5.4 kernel, re-enabling the LRU bulk moves functionality can be a significant boost for helping with the Radeon graphics driver performance for Linux gaming...

    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
    Michael, you should subscribe to mesa gitlab ACO pending for inclusion: https://gitlab.freedesktop.org/mesa/..._requests/2009

    Comment


    • #3
      How do you enable the LRU bulk moves if you want to compile a kernel that has this feature?

      Comment


      • #4
        Unfortunately, Padoka's PPA is not updated for about 2 months. Anyone knows another PPA that is not oibaf's, since he updates daily and that gets old fast.

        Comment


        • #5
          Originally posted by Venemo View Post
          How do you enable the LRU bulk moves if you want to compile a kernel that has this feature?
          It patches into 5.2 cleanly....

          Code:
          diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
          index 48349e4f0701..fd3fbaa73fa3 100644
          --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
          +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
          @@ -603,14 +603,12 @@ void amdgpu_vm_move_to_lru_tail(struct amdgpu_device *adev,
               struct ttm_bo_global *glob = adev->mman.bdev.glob;
               struct amdgpu_vm_bo_base *bo_base;
           
          -#if 0
               if (vm->bulk_moveable) {
                   spin_lock(&glob->lru_lock);
                   ttm_bo_bulk_move_lru_tail(&vm->lru_bulk_move);
                   spin_unlock(&glob->lru_lock);
                   return;
               }
          -#endif
           
               memset(&vm->lru_bulk_move, 0, sizeof(vm->lru_bulk_move));
           
          --
          2.17.1

          Comment


          • #6
            To help putting things into perspective, to hit 60FPS you need to be below 16.6ms/frame.
            I don't know how long the rest of the frametime in these tests was, but this may be a very significant improvement in this scenario.

            Comment


            • #7
              bridgman When speaking of a big help for performance, could you please forward this to the concerned team which should get in touch with the glibc developers (Red Hat Engineer Partner Management or contact Florian Weimer directly) as it seems that glibc does enable a fast path only for capable Intel CPUs because they need more insights into AMD's architectures: https://sourceware.org/bugzilla/show_bug.cgi?id=24979

              As this issue came up recently, here is another Mailing list entry of interest to justify the current behaviour: https://sourceware.org/ml/libc-alpha.../msg00155.html
              Last edited by ms178; 18 September 2019, 09:33 AM.

              Comment


              • #8
                Originally posted by AsuMagic View Post
                To help putting things into perspective, to hit 60FPS you need to be below 16.6ms/frame.
                they submit on separate thread, so it doesn't add to other per-frame work time if you have enough cpu cores. still, for 240 fps you need 4 ms and it was not possible without fix

                Comment


                • #9
                  Originally posted by M@GOid View Post
                  Unfortunately, Padoka's PPA is not updated for about 2 months. Anyone knows another PPA that is not oibaf's, since he updates daily and that gets old fast.
                  I recently switched from Padoka's PPA back to "Ubuntu-X" team PPA: team: https://launchpad.net/~ubuntu-x-swat...ubuntu/updates

                  Comment


                  • #10
                    Originally posted by M@GOid View Post
                    Unfortunately, Padoka's PPA is not updated for about 2 months. Anyone knows another PPA that is not oibaf's, since he updates daily and that gets old fast.
                    I made my own PPAs if anyones interested.

                    Release candidates:

                    Release candidates and release branches of Linux graphics related things. The ppa is controlled by these scripts, so if you have an idea you can send me a pull request! You can also use the GitHub repo to report issue or feature requests. https://github.com/ernstp/ppa-mesarc If you want to support what I do you can use this to buy me a coffee! https://www.paypal.com/donate/?business=LMKYKSFTXGP2A


                    Mesa ACO:

                    NEWS: * Now with new NVK driver nouveau_experimental * Now with LLVM 16! The PPA originally started to enable the AMD ACO feature, but now it's simply bleeding edge Mesa. The PPA is controlled by these scripts, so if you have an idea you can send me a pull request! https://github.com/ernstp/ppa-mesarc I'm running the scripts manually though. Report any issues straight here: https://gitlab.freedesktop.org/mesa/mesa/-/issues

                    Comment

                    Working...
                    X