[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20211202135824.33d2421bf5116801cfa2040d@linux-foundation.org>
Date: Thu, 2 Dec 2021 13:58:24 -0800
From: Andrew Morton <akpm@...ux-foundation.org>
To: ValdikSS <iam@...dikss.org.ru>
Cc: Alexey Avramov <hakavlad@...ox.lv>, linux-mm@...ck.org,
linux-doc@...r.kernel.org, linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org, corbet@....net, mcgrof@...nel.org,
keescook@...omium.org, yzaikin@...gle.com,
oleksandr@...alenko.name, kernel@...mod.org, aros@....com,
hakavlad@...il.com, Yu Zhao <yuzhao@...gle.com>
Subject: Re: [PATCH] mm/vmscan: add sysctl knobs for protecting the working
set
On Thu, 2 Dec 2021 21:05:01 +0300 ValdikSS <iam@...dikss.org.ru> wrote:
> This patchset is surprisingly effective and very useful for low-end PC
> with slow HDD, single-board ARM boards with slow storage, cheap Android
> smartphones with limited amount of memory. It almost completely prevents
> thrashing condition and aids in fast OOM killer invocation.
>
> The similar file-locking patch is used in ChromeOS for nearly 10 years
> but not on stock Linux or Android. It would be very beneficial for
> lower-performance Android phones, SBCs, old PCs and other devices.
>
> With this patch, combined with zram, I'm able to run the following
> software on an old office PC from 2007 with __only 2GB of RAM__
> simultaneously:
>
> * Firefox with 37 active tabs (all data in RAM, no tab unloading)
> * Discord
> * Skype
> * LibreOffice with the document opened
> * Two PDF files (14 and 47 megabytes in size)
>
> And the PC doesn't crawl like a snail, even with 2+ GB in zram!
> Without the patch, this PC is barely usable.
> Please watch the video:
> https://notes.valdikss.org.ru/linux-for-old-pc-from-2007/en/
>
This is quite a condemnation of the current VM. It shouldn't crawl
like a snail.
The patch simply sets hard limits on page reclaim's malfunctioning.
I'd prefer that reclaim not malfunction :(
That being said, I can see that a blunt instrument like this would be
useful.
I don't think that the limits should be "N bytes on the current node".
Nodes can have different amounts of memory so I expect it should scale
the hard limits on a per-node basis. And of course, the various zones
have different size as well.
We do already have a lot of sysctls for controlling these sort of
things. Was much work put into attempting to utilize the existing
sysctls to overcome these issues?
Powered by blists - more mailing lists