| Subject | Re: [PATCH 4/5] writeback: per task dirty rate limit | From | Peter Zijlstra <> | Date | Mon, 08 Aug 2011 15:47:14 +0200 |
| |
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@intel.com> > --- > 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().
|