No announcement yet.

MGLRU Is A Very Enticing Enhancement For Linux In 2022

  • Filter
  • Time
  • Show
Clear All
new posts

  • MGLRU Is A Very Enticing Enhancement For Linux In 2022

    Phoronix: MGLRU Is A Very Enticing Enhancement For Linux In 2022

    Going back a number of months Google engineers have been working to address the issue of the Linux kernel's page reclaim code being too expensive for which they devised the multi-generational LRU framework "MGLRU" and it continues being worked on with mainline ambitions...

    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
    What about mobile and embedded juse cases? I want my Sony Xperia 5 II with 3GB of RAM to suffice with Sailfiah OS! ​​​​​​

    But, no, seriously, I switched zram off, made a 1GB swap file on the flash storage (microSD is just way too slow, tried it) and raised swappiness from 25 to 50 and haven't had OOM kills since... ​​​​​


    • #3
      Appreciate the heads up, Michael. Looking forward to the benchmarks on these. I was using the MGLRU patches on 5.15 but they weren't patching cleanly on 5.16.

      Can confirm the new v6 patchset patches cleanly on 5.16-rc8. Good stuff.

      I have it disabled by default in the kernel config, but it can be manually enabled via the following:

      $ uname -a
      Linux ryzen 5.16-rc8-051600rc8+customidle-generic #051600rc8+202107311230 SMP PREEMPT Sun Jan 9 02:54:46 PST 2022 x86_64 x86_64 x86_64 GNU/Linux
      $ cat /sys/kernel/mm/lru_gen/enabled
      $ echo 1 | sudo tee /sys/kernel/mm/lru_gen/enabled
      $ cat /sys/kernel/mm/lru_gen/enabled


      • #4

        Linux version 5.15.13-ext73-95.16-ryzen-3 (root@ext73-kernel) (gcc (eXt73-build_v2.1) 12.0.0 20220102 (experimental)
        , GNU ld (Binutils_eXt73-build_v4.9) 2.37) #14 SMP Thu Jan 6 19:01:17 CET 2022
        ext73@ext73-ROG-Zephyrus-G14:~$ echo 1 | sudo tee /sys/kernel/mm/lru_gen/enabled
        [sudo] hasło użytkownika ext73:

        It's true, our Netext73 users have been using it for over half a year ... btw. btw. currently, the Premium kernel is for free
        Last edited by ext73; 09 January 2022, 07:24 AM.


        • #5
          Using that v5 for some time and confirm that difference under heavy load and memory pressure is significant.


          • #6
            Good looking.


            • #7
              I've decided to type this out for those who are using a screen reader. This is important for those with severe vision loss and those who are completely blind. This is in reference to the paragraph below:

              The most important information for Linux end-users if not concerned with all the technical details about Multi-Gen LRU:
              (The text below from the screenshot are as follows...)

              The facts area:
              1. The independent lab results and the real-world applications indicate substantial improvements; there are no known regressions.
              2. Thrashing prevention, working set estimation and proactive reclaim work out of the box; there are no equivalent solutions.
              3. There is a lot of new code; nobody has demonstrated smaller changes with similar effects.

              Our options, accordingly, are:
              1. Given the amount of evidence, the reported improvements will likely materialize for a wide range of workloads.
              2. Gouging the interest from the past discussions [14][15][16], the new features will likely be put to use for both personal computers and data centers.
              3. Based on Google's track record, the new code will likely be well maintained in the long term. It'd be more difficult it not impossible to achieve similar effects on top of the existing design.
              Accessibility for those who have vision loss or are totally blind is important to me. I hope I can be of help to those who use a screen reader.


              • #8
                Originally posted by GraysonPeddie View Post
                Accessibility for those who have vision loss or are totally blind is important to me. I hope I can be of help to those who use a screen reader.
                thank you.


                • #9
                  Originally posted by GraysonPeddie View Post
                  I've decided to type this out for those who are using a screen reader.
                  Wow! Yeah, I hadn't even considered that might be an embedded image. Right on.

                  P.S. I don't know if it helps with screen readers, but I love how PTS uses SVG. It really helps to be able to zoom the graphs, when the text is a bit too small. That you can copy & paste text & numbers right out of them is another huge benefit.
                  Last edited by coder; 09 January 2022, 02:12 PM.


                  • #10
                    Thanks guys for the compliment. The reason why accessibility is important is to make it easier for those using screen reader to navigate through websites. Phoronix website is poor for accessibility use, so I cannot use the "H" key to navigate between the list of articles. For screen readers, the "H" key is for navigating between headers (H1 to H6 in HTML). Here is a part of the Phoronix website that does not make use of Hx elements ("x" meaning 1 to 6, where "h1" is for the title of the website).

                    </article><article style="clear: both;">
                      <header>&lt;a href="...">WirePlumber 0.4.6 Released For Managing PipeWire</a></header>
                      <div class="details">6 January 01:11 PM EST - ... - WirePlumber Session Manager<span class="comments"> - <a href="...">17 Comments</a></span></div><p>...</p>
                    Notice that there is a header tag, but that is a feature introduced by HTML5. According to the article here:

                    The <header> HTML element represents introductory content, typically a group of introductory or navigational aids. It may contain some heading elements but also a logo, a search form, an author name, and other elements.
                    I believe the header tag is suppose to represent the header of the main website. An hgroup tag is designed for sections of an article.

                    And of course, a web page with Hx tags (H1 to H6) must follow the outline. For example:

                    H1: Phoronix
                      H2: List of blog articles
                        H3: Linux 5.16 Graphics...
                        H3: MGLRU Is A Very Enticing Enhancement...
                        H3: Sway 1.7 Nears...
                      H2: Most Popular News This Week
                        (List of popular news articles this week using ul/li elements...)
                      H2: Popular in the Forums
                        (List of popular forum topics using ul/li elements...)
                    Visual styles alone cannot communicate to the screen reader how it's communicated to the blind/vision loss users that browse the Internet, so navigating the Phoronix website can make it a bit difficult for those using a screen reader. In the example above, If a user of a screen reader is viewing the list of articles below the H2 "List of blog articles" section, to get to the "Most Popular News This Week" section, a user can press the "2" key to get to the next section of the website. To go back to the previous H2 element, a user can do "Shift+2" to return to the list of blog articles.

                    Hopefully I can shine a light regarding the accessibility issues.

                    Update: I was going to convert the "<" to "&lt;" but it seems that HTML does not do the converting; mostly because the forum software kept the encoding as it is. Interesting. I cleaned it up.
                    Last edited by GraysonPeddie; 09 January 2022, 07:24 PM.