On Fri, Nov 18, 2022 at 12:36:03PM +0530, Aneesh Kumar K.V wrote: > balance_dirty_pages doesn't do the required dirty throttling on cgroupv1. See > commit 9badce000e2c ("cgroup, writeback: don't enable cgroup writeback on > traditional hierarchies"). Instead, the kernel depends on writeback throttling > in shrink_folio_list to achieve the same goal. With large memory systems, the > flusher may not be able to writeback quickly enough such that we will start > finding pages in the shrink_folio_list already in writeback. Hence for cgroupv1 > let's do a reclaim throttle after waking up the flusher. > > The below test which used to fail on a 256GB system completes till the > the file system is full with this change. > > root@lp2:/sys/fs/cgroup/memory# mkdir test > root@lp2:/sys/fs/cgroup/memory# cd test/ > root@lp2:/sys/fs/cgroup/memory/test# echo 120M > memory.limit_in_bytes > root@lp2:/sys/fs/cgroup/memory/test# echo $$ > tasks > root@lp2:/sys/fs/cgroup/memory/test# dd if=/dev/zero of=/home/kvaneesh/test bs=1M > Killed > > Cc: <stable@xxxxxxxxxx> > Suggested-by: Johannes Weiner <hannes@xxxxxxxxxxx> > Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Thanks Aneesh