Announcement

Collapse
No announcement yet.

AMD Working On RDNA3 User-Mode Graphics Queue For Their Linux GPU Driver

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

  • AMD Working On RDNA3 User-Mode Graphics Queue For Their Linux GPU Driver

    Phoronix: AMD Working On RDNA3 User-Mode Graphics Queue For Their Linux GPU Driver

    A request for comments patch series sent out by AMD Linux graphics driver engineers ahead of the holidays is implementing support for user-mode queues in conjunction with Radeon RX 7000 "Navi 3x" graphics cards and newer...

    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
    While this sounds exciting I have no idea what it actually means I think articles like this should come with an explain like I'm five little paragraph at the bottom for people like me

    Comment


    • #3
      Originally posted by cytomax55 View Post
      While this sounds exciting I have no idea what it actually means I think articles like this should come with an explain like I'm five little paragraph at the bottom for people like me
      Do you know the difference between userspace and the kernel?

      Calling into the kernel takes probably about 0.5 microseconds, in the typical case. That's not much, unless you're doing it a lot. If you have to do that every time you queue up a new GPU command, it could conceivably add up to a noticeable amount, since there can be many commands per frame. So, the benefit of userspace queuing is that you can populate the queue (probably not unlike io_uring), and either a kernel thread in the driver, or the GPU itself is polling the queue to grab new commands as they're added. Or, perhaps you still have to make a single call when you're done, to make sure the new queue entries are seen.

      Anyway, it's about lowering userspace overhead and improving throughput. That's mainly what you need to know. Will it be a significant win? I have no idea. Probably not huge, or you'd think it would've been tackled sooner. Probably not negligible, or else why even do it now?

      Comment


      • #4
        Ty for the eli5 explanation ..

        All I know is kernel and userspace are different things and linis has a titty attack if someone violates one of them

        Comment


        • #5
          Originally posted by cytomax55 View Post
          Ty for the eli5 explanation ..

          All I know is kernel and userspace are different things and linis has a titty attack if someone violates one of them
          Kernel and userspace are two different contexts or working spaces.

          Kernel space is very privileged and doesn't need permissions nor checks to get work done. It does a lot of housekeeping such as talking directly to hardware, managing it, making memory available for things that need it, scheduling the work of programs, and deciding what memory will be swapped out to make more available to various tasks when there's a risk that memory demand exceeds RAM. Kernel space is extra performant because it doesn't go through as many checks and it runs in the computer's most privileged space.

          Userspace is less privileged and often needs to ask the kernel to get various things done that it isn't directly allowed or able to do. Userspace runs most of your apps, like Firefox, Steam, your desktop, your games, and your office software. To keep userspace from doing dangerous things, userspace is run in less priviledged space and goes through checks (example of a dangerous thing: letting your video game read or modify the memory that's reserved for Firefox, such as the form where you're entering your credit card and passwords). Userspace programs generally cannot see exactly what other userspace programs are doing, but may be able to see some of each other's operations if they are running as the same user (e.g. root user, or you) or if they're running as a highly privileged user. The kernel, contrarily, has the highest security, so it can see everything, do anything, and has maximal rights on the system it is managing.

          Linus is sensitive to the needs of both userspace and kernel because the kernel is the one thing that has to be reliable, efficient, secure, and capable. Userspace depends on a working kernel. When kernel contributors get careless, in Linus's view, he gets mad pretty quickly. Software development with so many people requires rules and governance to make the whole thing manageable. Like him or not, Linus has a lot of success with code management and software development. A ton of software projects that are much smaller than the Linux kernel fail because of bad leadership or lack of cooperation. The Linux kernel is one of the biggest, if not the biggest software project, in the world.
          Last edited by Mitch; 24 December 2022, 04:14 PM.

          Comment


          • #6
            Originally posted by cytomax55 View Post
            Ty for the eli5 explanation ..

            All I know is kernel and userspace are different things and linis has a titty attack if someone violates one of them
            Please eli5, what is a titty attack?

            Comment


            • #7
              Originally posted by Mitch View Post

              Kernel and userspace are two different contexts or working spaces.

              Kernel space is very privileged and doesn't need permissions nor checks to get work done. It does a lot of housekeeping such as talking directly to hardware, managing it, making memory available for things that need it, scheduling the work of programs, and deciding what memory will be swapped out to make more available to various tasks when there's a risk that memory demand exceeds RAM. Kernel space is extra performant because it doesn't go through as many checks and it runs in the computer's most privileged space.

              Userspace is less privileged and often needs to ask the kernel to get various things done that it isn't directly allowed or able to do. Userspace runs most of your apps, like Firefox, Steam, your desktop, your games, and your office software. To keep userspace from doing dangerous things, userspace is run in less priviledged space and goes through checks (example of a dangerous thing: letting your video game read or modify the memory that's reserved for Firefox, such as the form where you're entering your credit card and passwords). Userspace programs generally cannot see exactly what other userspace programs are doing, but may be able to see some of each other's operations if they are running as the same user (e.g. root user, or you) or if they're running as a highly privileged user. The kernel, contrarily, has the highest security, so it can see everything, do anything, and has maximal rights on the system it is managing.

              Linus is sensitive to the needs of both userspace and kernel because the kernel is the one thing that has to be reliable, efficient, secure, and capable. Userspace depends on a working kernel. When kernel contributors get careless, in Linus's view, he gets mad pretty quickly. Software development with so many people requires rules and governance to make the whole thing manageable. Like him or not, Linus has a lot of success with code management and software development. A ton of software projects that are much smaller than the Linux kernel fail because of bad leadership or lack of cooperation. The Linux kernel is one of the biggest, if not the biggest software project, in the world.
              Ty for the explanation it makes a lot of sense,
              I agree with the rigid structure Linus puts down it's the only way to manage and control the Linux kernel properly similar to the military or any other large organization

              Comment


              • #8
                Originally posted by Mitch View Post

                Kernel and userspace are two different contexts or working spaces.

                Kernel space is very privileged and doesn't need permissions nor checks to get work done. It does a lot of housekeeping such as talking directly to hardware, managing it, making memory available for things that need it, scheduling the work of programs, and deciding what memory will be swapped out to make more available to various tasks when there's a risk that memory demand exceeds RAM. Kernel space is extra performant because it doesn't go through as many checks and it runs in the computer's most privileged space.

                Userspace is less privileged and often needs to ask the kernel to get various things done that it isn't directly allowed or able to do. Userspace runs most of your apps, like Firefox, Steam, your desktop, your games, and your office software. To keep userspace from doing dangerous things, userspace is run in less priviledged space and goes through checks (example of a dangerous thing: letting your video game read or modify the memory that's reserved for Firefox, such as the form where you're entering your credit card and passwords). Userspace programs generally cannot see exactly what other userspace programs are doing, but may be able to see some of each other's operations if they are running as the same user (e.g. root user, or you) or if they're running as a highly privileged user. The kernel, contrarily, has the highest security, so it can see everything, do anything, and has maximal rights on the system it is managing.

                Linus is sensitive to the needs of both userspace and kernel because the kernel is the one thing that has to be reliable, efficient, secure, and capable. Userspace depends on a working kernel. When kernel contributors get careless, in Linus's view, he gets mad pretty quickly. Software development with so many people requires rules and governance to make the whole thing manageable. Like him or not, Linus has a lot of success with code management and software development. A ton of software projects that are much smaller than the Linux kernel fail because of bad leadership or lack of cooperation. The Linux kernel is one of the biggest, if not the biggest software project, in the world.
                Chat GPT?

                Comment


                • #9
                  So why not dropping everything into userspace then?
                  It's not like vram, io and dma allocations, IRQ messaging are magical things?
                  Sure, it'd break all presumptions about borders. But isn't this doing that already?
                  Besides, doing userspace cmd-queues, doesn't that already require regspace, vram and dma in userspace?
                  Atleast mapped in userspace?

                  Comment


                  • #10
                    Originally posted by Etherman View Post
                    Chat GPT?
                    Oh dear. Here we go...

                    My take is: no. I think the use of examples, counter-examples, and supporting rationale are a bit beyond it. Furthermore, it has a logical structure that doesn't follow from the prior post. IMO, Mitch is demonstrating a theory of mind, by anticipating and responding to the points of key interest to the intended audience. I know that can be faked, to some degree, but I don't think this one is.

                    Please, unless something is a word salad, can we not start accusing each other of ChatGPT? If someone takes the time and effort to write an informative and well-thought out post, it's quite a slap in the face then to be accused of being (or using) a bot.

                    Comment

                    Working...
                    X