When analyzing the offline applications in co-location scenario, we found they consume memory aggressively. Sometimes, they tend to fetch massive data from the other machine and store them in the local directory. Offline apps usually generate visible burst pressure upon memory subsystem, especially the download phase. Because it kept allocating pages from memory and producing dirty pages against the global pool and cgroup pool. How to get rid of dirty pages smoothly is challenge to make the system as stable as before. So we'd to tune flush behavior per cgroup level. This patchset only provide per memcg settings. No functional change. BTW: bdi_writeback is bridge between memcg and blckcg. This patch chooses to include those parameters in memcg, because dirty pages affect the efficiency of memory reclaim more intuitively. Xie Yongmei (3): writeback: refine trace event balance_dirty_pages writeback: per memcg dirty flush writeback: specify writeback period and expire interval per memcg fs/fs-writeback.c | 11 +- include/linux/memcontrol.h | 38 +++++ include/trace/events/writeback.h | 25 ++-- init/Kconfig | 7 + mm/backing-dev.c | 4 +- mm/memcontrol.c | 250 +++++++++++++++++++++++++++++++ mm/page-writeback.c | 15 +- 7 files changed, 331 insertions(+), 19 deletions(-) -- 2.27.0