[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <YNnPAJ4HNoN6g6T9@blackbook>
Date: Mon, 28 Jun 2021 15:30:40 +0200
From: Michal Koutný <mkoutny@...e.com>
To: "Enrico Weigelt, metux IT consult" <lkml@...ux.net>
Cc: Philipp Hahn <pmhahn+lkml@...ahn.de>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"cgroups@...r.kernel.org" <cgroups@...r.kernel.org>
Subject: Re: Prevent inode/dentry trashing?
On Mon, Jun 28, 2021 at 11:40:39AM +0200, "Enrico Weigelt, metux IT consult" <lkml@...ux.net> wrote:
> Could you please tell a bit more how this really works ?
> (maybe some pointers to the code)
When cgroup's consumption is about to cross the configured limit,
reclaim is started
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/mm/memcontrol.c?id=62fb9874f5da54fdb243003b386128037319b219#n2579
that may evict old entries
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/mm/vmscan.c?id=62fb9874f5da54fdb243003b386128037319b219#n2852
and if there's still no success freeing some space the dentry allocation
can fail
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/mm/slab.h?id=62fb9874f5da54fdb243003b386128037319b219#n277
(This describes just one code path, the subject isn't always a dentry.)
> I'm curios what happens if those cache objects are used by different
> cgroups - are they accounted to multiple times (once per cgroup) ?
> What happens when one cgroup using some cache object reaching its limit,
> wile another one does not ?
That's explained here
https://www.kernel.org/doc/html/v5.13/admin-guide/cgroup-v2.html#memory-ownership
Michal
Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)
Powered by blists - more mailing lists