Skip to content

per device dirty throttling -v10

Peter Zijlstra linux-mm lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest23 patches 4 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/23nfs: remove congestion_end()fs/nfs/write.c include/linux/backing-dev.h mm/backing-dev.c+1 -170 replies
2/23lib: percpu_counter_addfs/ext2/balloc.c fs/ext2/ialloc.c fs/ext3/balloc.c +5 more+17 -170 replies
3/23lib: percpu_counter_subfs/ext2/balloc.c fs/ext3/balloc.c fs/ext4/balloc.c +1 more+8 -30 replies
4/23lib: percpu_counter variable batchinclude/linux/percpu_counter.h lib/percpu_counter.c+12 -40 replies
5/23lib: make percpu_counter_add take s64include/linux/percpu_counter.h lib/percpu_counter.c+5 -50 replies
6/23lib: percpu_counter_setinclude/linux/percpu_counter.h lib/percpu_counter.c+20 -00 replies
7/23lib: percpu_counter_sum_positivefs/ext2/super.c fs/ext3/super.c fs/ext4/balloc.c +4 more+12 -120 replies
8/23lib: percpu_count_sum()include/linux/percpu_counter.h lib/percpu_counter.c+20 -40 replies
9/23lib: percpu_counter_init error handlingfs/ext2/super.c fs/ext3/super.c fs/ext4/super.c +2 more+52 -180 replies
10/23lib: percpu_counter_init_irqinclude/linux/percpu_counter.h lib/percpu_counter.c+15 -00 replies
11/23mm: bdi init hooksblock/ll_rw_blk.c drivers/block/rd.c drivers/char/mem.c +16 more+131 -70 replies
12/23containers: bdi init hookskernel/container.c+11 -30 replies
13/23mtd: bdi init hooksdrivers/mtd/mtdcore.c+9 -00 replies
14/23mtd: clean up the backing_dev_info usagedrivers/mtd/mtdcore.c include/linux/mtd/mtd.h+7 -30 replies
15/23mtd: give mtdconcat devices their own backing_dev_infodrivers/mtd/mtdconcat.c+18 -100 replies
16/23mm: scalable bdi statistics counters.include/linux/backing-dev.h mm/backing-dev.c+109 -30 replies
17/23mm: count reclaimable pages per BDIfs/buffer.c fs/nfs/write.c include/linux/backing-dev.h +2 more+16 -00 replies
18/23mm: count writeback pages per BDIinclude/linux/backing-dev.h mm/page-writeback.c+11 -20 replies
19/23mm: expose BDI statistics in sysfs.block/ll_rw_blk.c+30 -00 replies
20/23lib: floating proportionsinclude/linux/proportions.h lib/Makefile lib/proportions.c+505 -10 replies
21/23mm: per device dirty thresholdinclude/linux/backing-dev.h include/linux/writeback.h kernel/sysctl.c +2 more+196 -352 replies
22/23mm: dirty balancing for tasksinclude/linux/init_task.h include/linux/sched.h kernel/fork.c +1 more+62 -10 replies
23/23debug: sysfs files for the current ratio/size/totalblock/ll_rw_blk.c mm/page-writeback.c+83 -20 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 00/23] per device dirty throttling -v10

Per device dirty throttling patches

These patches aim to improve balance_dirty_pages() and directly address three issues:
1) inter device starvation
2) stacked device deadlocks
3) inter process starvation

1 and 2 are a direct result from removing the global dirty limit and using per device dirty limits. By giving each device its own dirty limit is will no longer starve another device, and the cyclic dependancy on the dirty limit is broken.

In order to efficiently distribute the dirty limit across the independant devices a floating proportion is used, this will allocate a share of the total limit proportional to the device's recent activity.

3 is done by also scaling the dirty limit proportional to the current task's recent dirty rate.

Changes since -v9:
- cleaned up the perpcu_counter_init code
- little fixups
- fwd port to .23-rc4-mm1

Changes since -v8:
- cleanup of the proportion code
- fix percpu_counter_add(&counter, -(unsigned long))
- fix per task dirty rate code
- fwd port to .23-rc2-mm2

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>