[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250506175316.1ca96d3aab2a28086fffa33a@linux-foundation.org>
Date: Tue, 6 May 2025 17:53:16 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Shakeel Butt <shakeel.butt@...ux.dev>
Cc: Johannes Weiner <hannes@...xchg.org>, Michal Hocko <mhocko@...nel.org>,
Roman Gushchin <roman.gushchin@...ux.dev>, Muchun Song
<muchun.song@...ux.dev>, linux-mm@...ck.org, cgroups@...r.kernel.org,
linux-kernel@...r.kernel.org, Meta kernel team <kernel-team@...a.com>, Greg
Thelen <gthelen@...gle.com>, Michal Koutný
<mkoutny@...e.com>, Tejun Heo <tj@...nel.org>, Yosry Ahmed
<yosry.ahmed@...ux.dev>, Christian Brauner <brauner@...nel.org>
Subject: Re: [PATCH v3] memcg: introduce non-blocking limit setting option
Thanks, I queued this as a -fix:
--- a/Documentation/admin-guide/cgroup-v2.rst~memcg-introduce-non-blocking-limit-setting-option-v3
+++ a/Documentation/admin-guide/cgroup-v2.rst
@@ -1299,12 +1299,17 @@ PAGE_SIZE multiple when read back.
monitors the limited cgroup to alleviate heavy reclaim
pressure.
- If memory.high is opened with O_NONBLOCK then the synchronous
- reclaim is bypassed. This is useful for admin processes that
- need to dynamically adjust the job's memory limits without
- expending their own CPU resources on memory reclamation. The
- job will trigger the reclaim and/or get throttled on its
- next charge request.
+ If memory.high is opened with O_NONBLOCK then the synchronous
+ reclaim is bypassed. This is useful for admin processes that
+ need to dynamically adjust the job's memory limits without
+ expending their own CPU resources on memory reclamation. The
+ job will trigger the reclaim and/or get throttled on its
+ next charge request.
+
+ Please note that with O_NONBLOCK, there is a chance that the
+ target memory cgroup may take indefinite amount of time to
+ reduce usage below the limit due to delayed charge request or
+ busy-hitting its memory to slow down reclaim.
memory.max
A read-write single value file which exists on non-root
@@ -1323,12 +1328,17 @@ PAGE_SIZE multiple when read back.
Caller could retry them differently, return into userspace
as -ENOMEM or silently ignore in cases like disk readahead.
- If memory.max is opened with O_NONBLOCK, then the synchronous
- reclaim and oom-kill are bypassed. This is useful for admin
- processes that need to dynamically adjust the job's memory limits
- without expending their own CPU resources on memory reclamation.
- The job will trigger the reclaim and/or oom-kill on its next
- charge request.
+ If memory.max is opened with O_NONBLOCK, then the synchronous
+ reclaim and oom-kill are bypassed. This is useful for admin
+ processes that need to dynamically adjust the job's memory limits
+ without expending their own CPU resources on memory reclamation.
+ The job will trigger the reclaim and/or oom-kill on its next
+ charge request.
+
+ Please note that with O_NONBLOCK, there is a chance that the
+ target memory cgroup may take indefinite amount of time to
+ reduce usage below the limit due to delayed charge request or
+ busy-hitting its memory to slow down reclaim.
memory.reclaim
A write-only nested-keyed file which exists for all cgroups.
_
Powered by blists - more mailing lists