On Mon, Aug 17, 2020 at 10:08:23AM -0400, Waiman Long wrote:I missed that there are already allocator throttling done in upstream code. So I will need to reexamine if this patch is necessary or not.
Memory controller can be used to control and limit the amount ofThen slow down the allocator? That's what we do for dirty pages too, we
physical memory used by a task. When a limit is set in "memory.high" in
a v2 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. In this case,
the physical memory consumption will keep on increasing.
slow down the dirtier when we run against the limits.