On Sat, 2011-08-06 at 16:44 +0800, Wu Fengguang wrote: > Add two fields to task_struct. > > 1) account dirtied pages in the individual tasks, for accuracy > 2) per-task balance_dirty_pages() call intervals, for flexibility > > The balance_dirty_pages() call interval (ie. nr_dirtied_pause) will > scale near-sqrt to the safety gap between dirty pages and threshold. > > XXX: The main problem of per-task nr_dirtied is, if 10k tasks start > dirtying pages at exactly the same time, each task will be assigned a > large initial nr_dirtied_pause, so that the dirty threshold will be > exceeded long before each task reached its nr_dirtied_pause and hence > call balance_dirty_pages(). > > Signed-off-by: Wu Fengguang <fengguang.wu@xxxxxxxxx> > --- > include/linux/sched.h | 7 ++ > mm/memory_hotplug.c | 3 - > mm/page-writeback.c | 106 +++++++++------------------------------- > 3 files changed, 32 insertions(+), 84 deletions(-) No fork() hooks? This way tasks inherit their parent's dirty count on clone(). -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. 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