No announcement yet.

Yes, Linux Does Bad In Low RAM / Memory Pressure Situations On The Desktop

  • Filter
  • Time
  • Show
Clear All
new posts

  • (the Quote button doesn't appear sometimes and on the next refresh I'm logged out too(seems like 1min auto-logout? probably Firefox's fault as usual), so using my imagination
    birdie replied
    This patch looks like it could be merged with mainline. Why don't you try sending it to linux-mm?
    multiple reasons
    * this patch is just a proof of concept really, and does not meet the quality I'd accept of myself for sending it upstream (have you read that help text? lol)
    * sending patches to ML requires having read and knowing all the rules for submitting patches - <s>yuck </s>(ie. me lazy)
    * they require real name and I don't want/care to provide one(did it in the past tho)
    * they will want changes to the patch that I won't like to do while still keeping my name attached to the patch (as a example from my prev. time: moving a define whose place was clearly inside a .h near its siblings(CPU stuff), into the .c right above and in the <s>middle</s>(actually top) of the function of the code using it, just because it was the only place this define was used)
    * lazy
    * kernel is so bugged that I learned to not care anymore

    But hey if anyone else wants to send it, be my guest, but use your own name (it's ok, you can pretend that you wrote it, you've my permission, or you can even modify it)
    I don't care, I consider the patch in the public domain(and/or all other licenses, for ease of use).

    <s>/me out</s>(actually I've decided to resume using this account(since today 03sept2019) - maybe because I'm too lazy to create yet another one everywhere, or I simply want to synergize on this one) - EDIT: nevermind, deleted everything at the end of oct. 2019, but my gists r still available on archive org tho.

    Also thanks to latalante in the next comment for linking those patches which I was totally unaware of and haven't yet tested them but noticed that one of them also has an `Inactive(file)` threshold too, besides the `Active(file)` one.
    Last edited by howaboutsynergy; 05 November 2019, 09:30 AM.


    • Originally posted by birdie View Post

      This patch looks like it could be merged with mainline. Why don't you try sending it to linux-mm?
      ChromeOS developers shipped it 9 years ago.
      It has not been accepted, but it is probably still used in ChromeOS.

      In the days of memcg (cgroup) it doesn't seem necessary (at least to me). I always use cgroup.
      Only no GNU distribution in 2019 offers such a default configuration to less experienced users. None in 2019 uses zRAM by default. Horror.


      • It's been the same since so many days.


        • Not surprised. At my workplace (where we work with low cost embedded devices), we have to do some crazy tweaks to Linux to make it work nicely.


          • +As 'nivedita' (phoronix user) put it:
            +"Executables and shared libraries are paged into memory, and can be paged out +even with no swap. [...] The kernel is dumping those pages and [...] immediately +reading them back in when execution continues." +^ and that's what's causing the disk thrashing during memory pressure.
            I wonder, what it takes to totally disable this attitude? Would it have some side effects or something, beyond failing to save pennies such an awkward way?


            • How do you like it, birdie ?
              A sophisticated low memory handler for Linux. Contribute to hakavlad/nohang development by creating an account on GitHub.


              • Originally posted by nivedita View Post

                Executables and shared libraries are paged into memory, and can be paged out even with no swap.

                I think that’s part of the reason this is being considered a bug. The kernel is dumping those pages and likely immediately reading them back in when execution continues.
                The bug you described can be fixed in two ways:
                - in userspace:
                - in kernel-space: