Announcement

Collapse
No announcement yet.

Dynamic Kernel Stacks Proposed For Linux With Big Memory Savings

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

  • Dynamic Kernel Stacks Proposed For Linux With Big Memory Savings

    Phoronix: Dynamic Kernel Stacks Proposed For Linux With Big Memory Savings

    A "request for comments" patch series was posted on Monday for a new dynamic kernel stacks feature for Linux. Early testing has shown the potential for significant memory savings...

    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
    Very cool. I wonder if this is part of the secret sauce that makes Chromebooks with only 4GB and 8GB of RAM usable on the modern web? My 8GB Chromebook is guaranteed support through 2029 and by then 8GB of RAM isn't going to be anything!

    Comment


    • #3
      Originally posted by kylew77 View Post
      Very cool. I wonder if this is part of the secret sauce that makes Chromebooks with only 4GB and 8GB of RAM usable on the modern web? My 8GB Chromebook is guaranteed support through 2029 and by then 8GB of RAM isn't going to be anything!
      There's much less copying of graphics buffers between devices on Chromebooks with Intel GPUs, which means you don't need to reserve memory in both the source and the destination, so you wind up needing half the memory compared to Linux on the same hardware: https://medium.com/joone/using-the-c...s-38f56f2ed6e4

      > Typically, we must perform one copy to upload a bitmap to GPU memory because the GPU memory is separate from the main memory, which can hurt overall performance and use more memory. However, in Intel architecture containing integrated Processor Graphics, we can share the same physical memory between CPU and GPU, allowing a renderer process to paint content on an imported GPU buffer via VGEM that allows a non-privileged user process to map a previously allocated graphics buffer. This feature is called zero-copy texture upload and it provides significant performance benefits and reduces memory footprint. It is only supported on Intel-based Chromebooks.​

      Comment


      • #4
        I've kept those reduced size patches around, too, since I don't have so many levels of functions as some configs - and I like to think they help, but a dynamic option might make even more sense than 8k for all.

        Comment


        • #5
          Originally posted by jokeyrhyme View Post

          There's much less copying of graphics buffers between devices on Chromebooks with Intel GPUs, which means you don't need to reserve memory in both the source and the destination, so you wind up needing half the memory compared to Linux on the same hardware: https://medium.com/joone/using-the-c...s-38f56f2ed6e4

          ​
          It should be possible to do it in Linux as well, by re-building Chromium and running it standalone directly talking to drm. See:

          https://source.chromium.org/chromium/chromium/src/+/main:docs/linux/ozone_drm.md?q=nouveau%20filepath:md$&ss=chromium

          Ignore the nouveau part if u use Intel. Note that haven't tried this out.
          Last edited by bezirg; 12 March 2024, 04:06 AM.

          Comment


          • #6
            This feature seem to benefit those programming languages that lack support for lightweight (a.k.a. green) threads (as supported in Haskell,Erlang), but have to rely instead on kernel (heavyweight) threads (e.g. Java). (EDIT: Java has support now for lightweight threads, see Amaranth 's reply)
            Last edited by bezirg; 12 March 2024, 04:06 AM.

            Comment


            • #7
              Originally posted by bezirg View Post
              This feature seem to benefit those programming languages that lack support for lightweight (a.k.a. green) threads (as supported in Haskell,Erlang), but have to rely instead on kernel (heavyweight) threads (e.g. Java).
              You're a little out of date here, https://docs.oracle.com/en/java/java...l-threads.html

              Comment


              • #8
                Originally posted by Amaranth View Post
                Oh thanks, I am out of date indeed. Java apparently has now lightweight threads.

                Comment


                • #9
                  Dynamic Kernel Stacks Proposed For Linux With Big Memory Savings
                  ** Looks at the table and sees savings as big as the entire computer memory. On a Sinclair ZX Spectrum. **

                  Comment


                  • #10
                    I'm all for it, especially on some low-RAM systems I still run... but I really have to question just how big of a deal it really is on major server deployments with a TB of RAM when you're only saving 70MB of memory on a system with 384 cores.

                    Comment

                    Working...
                    X