Announcement

Collapse
No announcement yet.

Linux's vmalloc Seeing "Large Performance Benefits" With 5.2 Kernel Changes

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

  • Linux's vmalloc Seeing "Large Performance Benefits" With 5.2 Kernel Changes

    Phoronix: Linux's vmalloc Seeing "Large Performance Benefits" With 5.2 Kernel Changes

    On top of all the changes queued for Linux 5.2 is an interesting last-minute performance improvement for the vmalloc code...

    http://www.phoronix.com/scan.php?pag...oc-Performance

  • #2
    Typo:

    Originally posted by phoronix View Post
    can take up to 67% less time compared to tbe behavior on Linux 5.1 and prior, at least

    Comment


    • #3
      Now that is a beautiful change! Core functionality speedup to the benefit of just about everybody.
      Interesting times for 5.2 indeed.

      Comment


      • #4
        Wasn't there 'another' performance (memory/Lx cache/TLB?) optimization in the works? - Can't remember the right announcement.
        Ugh, found one, but the 'slower':
        https://www.phoronix.com/scan.php?pa...o-Optimization
        I think there was a much better one in the works for multi CPU/core systems...
        Last edited by nuetzel; 05-19-2019, 05:38 PM. Reason: Added phoronix link.

        Comment


        • #5
          Linus on vmalloc "There are basically no valid new uses of it. There's a few valid legacy users (I think the file descriptor array), and there are some drivers that use it (which is crap, but drivers are drivers), and it's _really_ valid only for modules. Nothing else." https://lwn.net/Articles/57800/

          Comment


          • #6
            Originally posted by Widefox View Post
            Linus on vmalloc "There are basically no valid new uses of it. There's a few valid legacy users (I think the file descriptor array), and there are some drivers that use it (which is crap, but drivers are drivers), and it's _really_ valid only for modules. Nothing else." https://lwn.net/Articles/57800/
            Saying that, "Android graphics pipeline uses vmalloc allocations which can lead to delays of UI content to GPU. " https://lkml.org/lkml/2019/3/22/1911 so noticable improvements from time sensitive vmalloc users like Android.

            Comment


            • #7
              Originally posted by nuetzel View Post
              I think there was a much better one in the works for multi CPU/core systems...
              Yes, rwsem as far as I remember. Part of it is included in 5.2, but for full implementation we have to wait for 5.3.

              Comment


              • #8
                Originally posted by Widefox View Post
                Linus on vmalloc "There are basically no valid new uses of it. There's a few valid legacy users (I think the file descriptor array), and there are some drivers that use it (which is crap, but drivers are drivers), and it's _really_ valid only for modules. Nothing else." https://lwn.net/Articles/57800/
                It's still a win, especially for mentioned embedded devices. It is unfortunate that there are plenty of crappy proprietary kernels, but they can still benefit from improvements to the mainline, this will apply especially to new devices where the manufacturer is still working on the kernel.

                Comment


                • #9
                  Wow, never expected kernel to have linear lookup of anything in 2019...
                  Last edited by reavertm; 05-20-2019, 12:45 PM.

                  Comment


                  • #10
                    Originally posted by Widefox View Post
                    Linus on vmalloc "There are basically no valid new uses of it. There's a few valid legacy users (I think the file descriptor array), and there are some drivers that use it (which is crap, but drivers are drivers), and it's _really_ valid only for modules. Nothing else." https://lwn.net/Articles/57800/
                    This quote is 16 years old, a lot has changed since then. For example the kernel stack is now allocated via vmalloc[1], and every process that starts has one of these.
                    [1]https://lwn.net/Articles/692208/

                    Comment

                    Working...
                    X