author | Linus Torvalds <torvalds@linux-foundation.org> | |
Mon, 7 Nov 2011 03:02:23 +0000 (19:02 -0800) | ||
committer | Linus Torvalds <torvalds@linux-foundation.org> | |
Mon, 7 Nov 2011 03:02:23 +0000 (19:02 -0800) |
* 'writeback-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:
writeback: Add a 'reason' to wb_writeback_work
writeback: send work item to queue_io, move_expired_inodes
writeback: trace event balance_dirty_pages
writeback: trace event bdi_dirty_ratelimit
writeback: fix ppc compile warnings on do_div(long long, unsigned long)
writeback: per-bdi background threshold
writeback: dirty position control - bdi reserve area
writeback: control dirty pause time
writeback: limit max dirty pause time
writeback: IO-less balance_dirty_pages()
writeback: per task dirty rate limit
writeback: stabilize bdi->dirty_ratelimit
writeback: dirty rate control
writeback: add bg_threshold parameter to __bdi_update_bandwidth()
writeback: dirty position control
writeback: account per-bdi accumulated dirtied pages
writeback: Add a 'reason' to wb_writeback_work
writeback: send work item to queue_io, move_expired_inodes
writeback: trace event balance_dirty_pages
writeback: trace event bdi_dirty_ratelimit
writeback: fix ppc compile warnings on do_div(long long, unsigned long)
writeback: per-bdi background threshold
writeback: dirty position control - bdi reserve area
writeback: control dirty pause time
writeback: limit max dirty pause time
writeback: IO-less balance_dirty_pages()
writeback: per task dirty rate limit
writeback: stabilize bdi->dirty_ratelimit
writeback: dirty rate control
writeback: add bg_threshold parameter to __bdi_update_bandwidth()
writeback: dirty position control
writeback: account per-bdi accumulated dirtied pages
1 | 2 | |||
---|---|---|---|---|
fs/buffer.c | patch | | diff1 | | diff2 | | blob | history |
fs/ext4/inode.c | patch | | diff1 | | diff2 | | blob | history |
fs/quota/quota.c | patch | | diff1 | | diff2 | | blob | history |
include/linux/sched.h | patch | | diff1 | | diff2 | | blob | history |
kernel/fork.c | patch | | diff1 | | diff2 | | blob | history |
mm/backing-dev.c | patch | | diff1 | | diff2 | | blob | history |
mm/page-writeback.c | patch | | diff1 | | diff2 | | blob | history |
mm/vmscan.c | patch | | diff1 | | diff2 | | blob | history |
diff --cc fs/buffer.c
Simple merge
diff --cc fs/ext4/inode.c
Simple merge
diff --cc fs/quota/quota.c
Simple merge
diff --cc include/linux/sched.h
Simple merge
diff --cc kernel/fork.c
Simple merge
diff --cc mm/backing-dev.c
Simple merge
diff --cc mm/page-writeback.c
index 793e9874de51f39f1a1b4a2e86c974a671b6574d,650846b615841c14f092bdae6aa58acb276aae88..9c31199dae9a4a29c84651c7c2fe59929eeb99dc
--- 1/mm/page-writeback.c
--- 2/mm/page-writeback.c
+++ b/mm/page-writeback.c
numerator, denominator);
}
- static inline void task_dirties_fraction(struct task_struct *tsk,
- long *numerator, long *denominator)
- {
- prop_fraction_single(&vm_dirties, &tsk->dirties,
- numerator, denominator);
- }
-
- /*
- * task_dirty_limit - scale down dirty throttling threshold for one task
- *
- * task specific dirty limit:
- *
- * dirty -= (dirty/8) * p_{t}
- *
- * To protect light/slow dirtying tasks from heavier/fast ones, we start
- * throttling individual tasks before reaching the bdi dirty limit.
- * Relatively low thresholds will be allocated to heavy dirtiers. So when
- * dirty pages grow large, heavy dirtiers will be throttled first, which will
- * effectively curb the growth of dirty pages. Light dirtiers with high enough
- * dirty threshold may never get throttled.
- */
- #define TASK_LIMIT_FRACTION 8
- static unsigned long task_dirty_limit(struct task_struct *tsk,
- unsigned long bdi_dirty)
- {
- long numerator, denominator;
- unsigned long dirty = bdi_dirty;
- u64 inv = dirty / TASK_LIMIT_FRACTION;
-
- task_dirties_fraction(tsk, &numerator, &denominator);
- inv *= numerator;
- do_div(inv, denominator);
-
- dirty -= inv;
-
- return max(dirty, bdi_dirty/2);
- }
-
- /* Minimum limit for any task */
- static unsigned long task_min_dirty_limit(unsigned long bdi_dirty)
- {
- return bdi_dirty - bdi_dirty / TASK_LIMIT_FRACTION;
- }
-
/*
- *
+ * bdi_min_ratio keeps the sum of the minimum dirty shares of all
+ * registered backing devices, which, for obvious reasons, can not
+ * exceed 100%.
*/
static unsigned int bdi_min_ratio;
diff --cc mm/vmscan.c
Simple merge