From: Johannes Weiner <hannes@cmpxchg.org>
To: Chunyu Hu <chuhu@redhat.com>
Cc: linux-mm@kvack.org, guro@fb.com, akpm@linux-foundation.org
Subject: Re: Question about admin_reserve_kbytes in GUESS mode
Date: Tue, 15 Dec 2020 14:06:38 +0100 [thread overview]
Message-ID: <20201215130638.GB379720@cmpxchg.org> (raw)
In-Reply-To: <1273738630.62467759.1608032559889.JavaMail.zimbra@redhat.com>
On Tue, Dec 15, 2020 at 06:42:39AM -0500, Chunyu Hu wrote:
> Hello experts,
>
> I find admin_reserve_kbytes is not working as documented since
> commit 8c7829b04c523cdc(mm: fix false-positive OVERCOMMIT_GUESS failures).
>
> Before that, available free pages are used to determine the allocation check, and admin_reserve_kbytes
> was honored in the default GUESS over_commit mode. While after that commit, admin_reserve_kbytes
> is not honored in default mode any more. This looks like break the sysctl usage?
>
> Documentation/admin-guide/sysctl/vm.rst:
>
> admin_reserve_kbytes
> ====================
>
> The amount of free memory in the system that should be reserved for users
> with the capability cap_sys_admin.
>
> admin_reserve_kbytes defaults to min(3% of free pages, 8MB)
>
> That should provide enough for the admin to log in and kill a process,
> if necessary, under the default overcommit 'guess' mode.
Thanks for the report.
Can you elaborate on your usecase a bit? How you rely on the knob, and
how it's not working properly now?
It would be easy enough to this check back to the simplified formula,
I'm just having some trouble picturing how it would be useful.
The knob never (not since git, anyway) behaved the way it's documented
here. We don't track total virtual memory; instead the checks apply to
individual allocations. So it was never true that we reserve 3% of RAM
for admins. Rather, the biggest single mmap() request an admin could
do was 100% of RAM, whereas for unprivileged users it was 97% of RAM.
But you could always do two or more requests of that size in a row
anyway. It's not clear to me that this is a meaningful distinction.
next prev parent reply other threads:[~2020-12-15 13:08 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <223826327.62466770.1608031937021.JavaMail.zimbra@redhat.com>
2020-12-15 11:42 ` Chunyu Hu
2020-12-15 13:06 ` Johannes Weiner [this message]
2020-12-16 16:37 ` Chunyu Hu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201215130638.GB379720@cmpxchg.org \
--to=hannes@cmpxchg.org \
--cc=akpm@linux-foundation.org \
--cc=chuhu@redhat.com \
--cc=guro@fb.com \
--cc=linux-mm@kvack.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox