On Fri, 3 Jun 2011 09:12:17 -0700 Greg Thelen <gthelen@xxxxxxxxxx> wrote: > When the system is under background dirty memory threshold but a cgroup > is over its background dirty memory threshold, then only writeback > inodes associated with the over-limit cgroup(s). > > In addition to checking if the system dirty memory usage is over the > system background threshold, over_bground_thresh() also checks if any > cgroups are over their respective background dirty memory thresholds. > The writeback_control.for_cgroup field is set to distinguish between a > system and memcg overage. > > If performing cgroup writeback, move_expired_inodes() skips inodes that > do not contribute dirty pages to the cgroup being written back. > > After writing some pages, wb_writeback() will call > mem_cgroup_writeback_done() to update the set of over-bg-limits memcg. > > Signed-off-by: Greg Thelen <gthelen@xxxxxxxxxx> > --- > Changelog since v7: > - over_bground_thresh() now sets shared_inodes=1. In -v7 per memcg > background writeback did not, so it did not write pages of shared > inodes in background writeback. In the (potentially common) case > where the system dirty memory usage is below the system background > dirty threshold but at least one cgroup is over its background dirty > limit, then per memcg background writeback is queued for any > over-background-threshold cgroups. Background writeback should be > allowed to writeback shared inodes. The hope is that writing such > inodes has good chance of cleaning the inodes so they can transition > from shared to non-shared. Such a transition is good because then the > inode will remain unshared until it is written by multiple cgroup. > Non-shared inodes offer better isolation. If you post v9, please adds above explanation as the comments in the code. Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>