Hi, Currently, we don't pause in balance_dirty_pages with cgroup v1 when we have task dirtying too many pages w.r.t to memory limit in the memcg. This is because with cgroup v1 all the limits are checked against global available resources. So on a system with a large amount of memory, a cgroup with a smaller limit can easily hit OOM if the task within the cgroup continuously dirty pages. Shouldn't we throttle the task based on the memcg limits in this case? commit 9badce000e2c ("cgroup, writeback: don't enable cgroup writeback on traditional hierarchies") indicates we run into issues with enabling cgroup writeback with v1. But we still can keep the global writeback domain, but check the throtling needs against memcg limits in balance_dirty_pages()? -aneesh