linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/4] memcg: introduce per-memcg proactive reclaim
@ 2022-04-25 19:00 Yosry Ahmed
  2022-04-25 19:00 ` [PATCH v5 1/4] memcg: introduce per-memcg reclaim interface Yosry Ahmed
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Yosry Ahmed @ 2022-04-25 19:00 UTC (permalink / raw)
  To: Johannes Weiner, Michal Hocko, Shakeel Butt, Andrew Morton,
	Roman Gushchin
  Cc: David Rientjes, Tejun Heo, Zefan Li, Jonathan Corbet, Shuah Khan,
	Yu Zhao, Dave Hansen, Wei Xu, Greg Thelen, Chen Wandun,
	Vaibhav Jain, Michal Koutný,
	Tim Chen, cgroups, linux-doc, linux-kernel, linux-mm,
	linux-kselftest, Yosry Ahmed

This patch series adds a memory.reclaim proactive reclaim interface.
The rationale behind the interface and how it works are in the first
patch.

---

Changes in V5:
- Fixed comment formating and added Co-developed-by in patch 1.
- Modified selftest to work if swap is enabled or not, and retry
  multiple times to wait for background allocation before failing
  with a clear message.

Changes in V4:
mm/memcontrol.c:
- Return -EINTR on signal_pending().
- On the final retry, drain percpu lru caches hoping that it might
  introduce some evictable pages for reclaim.
- Simplified the retry loop as suggested by Dan Schatzberg.

selftests:
- Always return -errno on failure from cg_write() (whether open() or
  write() fail), also update cg_read() and read_text() to return -errno
  as well for consistency. Also make sure to correctly check that the
  whole buffer was written in cg_write().
- Added a maximum number of retries for the reclaim selftest.

Changes in V3:
- Fix cg_write() (in patch 2) to properly return -1 if open() fails
  and not fail if len == errno.
- Remove debug printf() in patch 3.

Changes in V2:
- Add the interface to root as well.
- Added a selftest.
- Documented the interface as a nested-keyed interface, which makes
  adding optional arguments in the future easier (see doc updates in the
  first patch).
- Modified the commit message to reflect changes and added a timeout
  argument as a suggested possible extension
- Return -EAGAIN if the kernel fails to reclaim the full requested
  amount.

---

Shakeel Butt (1):
  memcg: introduce per-memcg reclaim interface

Yosry Ahmed (3):
  selftests: cgroup: return -errno from cg_read()/cg_write() on failure
  selftests: cgroup: fix alloc_anon_noexit() instantly freeing memory
  selftests: cgroup: add a selftest for memory.reclaim

 Documentation/admin-guide/cgroup-v2.rst       |  21 ++++
 mm/memcontrol.c                               |  45 +++++++
 tools/testing/selftests/cgroup/cgroup_util.c  |  44 +++----
 .../selftests/cgroup/test_memcontrol.c        | 114 +++++++++++++++++-
 4 files changed, 197 insertions(+), 27 deletions(-)

-- 
2.36.0.rc2.479.g8af0fa9b8e-goog


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2022-05-04  0:25 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-25 19:00 [PATCH v5 0/4] memcg: introduce per-memcg proactive reclaim Yosry Ahmed
2022-04-25 19:00 ` [PATCH v5 1/4] memcg: introduce per-memcg reclaim interface Yosry Ahmed
2022-04-25 19:15   ` David Rientjes
2022-04-25 19:31     ` Yosry Ahmed
2022-04-26  8:22       ` Michal Hocko
2022-05-04  0:13   ` Davidlohr Bueso
2022-04-25 19:00 ` [PATCH v5 2/4] selftests: cgroup: return -errno from cg_read()/cg_write() on failure Yosry Ahmed
2022-04-25 19:17   ` David Rientjes
2022-04-26  1:53   ` Roman Gushchin
2022-04-25 19:00 ` [PATCH v5 3/4] selftests: cgroup: fix alloc_anon_noexit() instantly freeing memory Yosry Ahmed
2022-04-25 19:18   ` David Rientjes
2022-04-25 19:00 ` [PATCH v5 4/4] selftests: cgroup: add a selftest for memory.reclaim Yosry Ahmed
2022-04-25 19:21   ` David Rientjes

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).