diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-10 19:59:59 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-10 19:59:59 -0500 |
commit | 001a541ea9163ace5e8243ee0e907ad80a4c0ec2 (patch) | |
tree | a76225046369c440de93739add9823f5ea060245 /kernel | |
parent | 40ba587923ae67090d9f141c1d3c951be5c1420e (diff) | |
parent | bc31b86a5923fad5f3fbb6192f767f410241ba27 (diff) |
Merge branch 'writeback-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux
* 'writeback-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:
writeback: move MIN_WRITEBACK_PAGES to fs-writeback.c
writeback: balanced_rate cannot exceed write bandwidth
writeback: do strict bdi dirty_exceeded
writeback: avoid tiny dirty poll intervals
writeback: max, min and target dirty pause time
writeback: dirty ratelimit - think time compensation
btrfs: fix dirtied pages accounting on sub-page writes
writeback: fix dirtied pages accounting on redirty
writeback: fix dirtied pages accounting on sub-page writes
writeback: charge leaked page dirties to active tasks
writeback: Include all dirty inodes in background writeback
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/exit.c | 3 | ||||
-rw-r--r-- | kernel/fork.c | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/kernel/exit.c b/kernel/exit.c index d9eab2e4b430..94ed6e20bb53 100644 --- a/kernel/exit.c +++ b/kernel/exit.c | |||
@@ -51,6 +51,7 @@ | |||
51 | #include <trace/events/sched.h> | 51 | #include <trace/events/sched.h> |
52 | #include <linux/hw_breakpoint.h> | 52 | #include <linux/hw_breakpoint.h> |
53 | #include <linux/oom.h> | 53 | #include <linux/oom.h> |
54 | #include <linux/writeback.h> | ||
54 | 55 | ||
55 | #include <asm/uaccess.h> | 56 | #include <asm/uaccess.h> |
56 | #include <asm/unistd.h> | 57 | #include <asm/unistd.h> |
@@ -1035,6 +1036,8 @@ NORET_TYPE void do_exit(long code) | |||
1035 | validate_creds_for_do_exit(tsk); | 1036 | validate_creds_for_do_exit(tsk); |
1036 | 1037 | ||
1037 | preempt_disable(); | 1038 | preempt_disable(); |
1039 | if (tsk->nr_dirtied) | ||
1040 | __this_cpu_add(dirty_throttle_leaks, tsk->nr_dirtied); | ||
1038 | exit_rcu(); | 1041 | exit_rcu(); |
1039 | /* causes final put_task_struct in finish_task_switch(). */ | 1042 | /* causes final put_task_struct in finish_task_switch(). */ |
1040 | tsk->state = TASK_DEAD; | 1043 | tsk->state = TASK_DEAD; |
diff --git a/kernel/fork.c b/kernel/fork.c index 5e1391b5ade0..443f5125f11e 100644 --- a/kernel/fork.c +++ b/kernel/fork.c | |||
@@ -1294,6 +1294,7 @@ static struct task_struct *copy_process(unsigned long clone_flags, | |||
1294 | 1294 | ||
1295 | p->nr_dirtied = 0; | 1295 | p->nr_dirtied = 0; |
1296 | p->nr_dirtied_pause = 128 >> (PAGE_SHIFT - 10); | 1296 | p->nr_dirtied_pause = 128 >> (PAGE_SHIFT - 10); |
1297 | p->dirty_paused_when = 0; | ||
1297 | 1298 | ||
1298 | /* | 1299 | /* |
1299 | * Ok, make it visible to the rest of the system. | 1300 | * Ok, make it visible to the rest of the system. |