All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/4] memcg: introduce per-memcg proactive reclaim
@ 2022-04-21 23:44 Yosry Ahmed
  2022-04-21 23:44   ` Yosry Ahmed
                   ` (3 more replies)
  0 siblings, 4 replies; 21+ messages in thread
From: Yosry Ahmed @ 2022-04-21 23:44 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, Dan Schatzberg, 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 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                               | 44 +++++++++
 tools/testing/selftests/cgroup/cgroup_util.c  | 44 ++++-----
 .../selftests/cgroup/test_memcontrol.c        | 94 ++++++++++++++++++-
 4 files changed, 176 insertions(+), 27 deletions(-)

-- 
2.36.0.rc2.479.g8af0fa9b8e-goog


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

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

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-21 23:44 [PATCH v4 0/4] memcg: introduce per-memcg proactive reclaim Yosry Ahmed
2022-04-21 23:44 ` [PATCH v4 1/4] memcg: introduce per-memcg reclaim interface Yosry Ahmed
2022-04-21 23:44   ` Yosry Ahmed
2022-04-23 13:30   ` Shakeel Butt
2022-04-23 13:30     ` Shakeel Butt
2022-04-23 21:44     ` Yosry Ahmed
2022-04-23 21:44       ` Yosry Ahmed
2022-04-21 23:44 ` [PATCH v4 2/4] selftests: cgroup: return -errno from cg_read()/cg_write() on failure Yosry Ahmed
2022-04-23 14:01   ` Shakeel Butt
2022-04-23 14:01     ` Shakeel Butt
2022-04-21 23:44 ` [PATCH v4 3/4] selftests: cgroup: fix alloc_anon_noexit() instantly freeing memory Yosry Ahmed
2022-04-21 23:44   ` Yosry Ahmed
2022-04-23 14:03   ` Shakeel Butt
2022-04-23 14:03     ` Shakeel Butt
2022-04-21 23:44 ` [PATCH v4 4/4] selftests: cgroup: add a selftest for memory.reclaim Yosry Ahmed
2022-04-23 14:28   ` Shakeel Butt
2022-04-23 14:28     ` Shakeel Butt
2022-04-23 21:43     ` Yosry Ahmed
2022-04-23 21:43       ` Yosry Ahmed
2022-04-25 15:16       ` Shakeel Butt
2022-04-25 15:16         ` Shakeel Butt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.