Re: [RFC PATCH 1/8] memcg: Enable fine-grained control of over memory.high action

From: Waiman Long
Date: Tue Aug 18 2020 - 15:14:51 EST


On 8/17/20 12:44 PM, Shakeel Butt wrote:
On Mon, Aug 17, 2020 at 7:11 AM Waiman Long <longman@xxxxxxxxxx> wrote:
Memory controller can be used to control and limit the amount of
physical memory used by a task. When a limit is set in "memory.high"
in a non-root memory cgroup, the memory controller will try to reclaim
memory if the limit has been exceeded. Normally, that will be enough
to keep the physical memory consumption of tasks in the memory cgroup
to be around or below the "memory.high" limit.

Sometimes, memory reclaim may not be able to recover memory in a rate
that can catch up to the physical memory allocation rate especially
when rotating disks are used for swapping or writing dirty pages. In
this case, the physical memory consumption will keep on increasing.
Isn't this the real underlying issue? Why not make the guarantees of
memory.high more strict instead of adding more interfaces and
complexity?

By the way, have you observed this issue on real workloads or some
test cases? It would be good to get a repro with simple test cases.

As said before, this is from a customer request. I will need to re-examine the existing features to see if they can satisfy the customer need.

Cheers,
Longman