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 -v7: - perpcu_counter renames (partially suggested by Linus) - percpu_counter error handling - bdi_init error handling - fwd port to .23-rc1-mm --- # # cleanups # nfs_congestion_fixup.patch # # percpu_counter rework # percpu_counter_add.patch percpu_counter_batch.patch percpu_counter_add64.patch percpu_counter_set.patch percpu_counter_sum_positive.patch percpu_counter_sum.patch percpu_counter_init.patch percpu_counter_init_irq.patch # # per BDI dirty pages # bdi_init.patch bdi_init_container.patch bdi_init_mtd.patch mtd-bdi-fixups.patch bdi_mtdconcat.patch bdi_stat.patch bdi_stat_reclaimable.patch bdi_stat_writeback.patch bdi_stat_sysfs.patch # # floating proportions # proportions.patch proportions_single.patch # # per BDI dirty # writeback-balance-per-backing_dev.patch dirty_pages2.patch # # debug foo # bdi_stat_debug.patch - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- Re: [PATCH 00/23] per device dirty throttling -v8
- From: richard kennedy <[email protected]>
- Re: [PATCH 00/23] per device dirty throttling -v8
- From: Miklos Szeredi <[email protected]>
- Re: [PATCH 00/23] per device dirty throttling -v8
- From: Linus Torvalds <[email protected]>
- [PATCH 15/23] mm: scalable bdi statistics counters.
- From: Peter Zijlstra <[email protected]>
- [PATCH 19/23] lib: floating proportions
- From: Peter Zijlstra <[email protected]>
- [PATCH 22/23] mm: dirty balancing for tasks
- From: Peter Zijlstra <[email protected]>
- [PATCH 04/23] lib: make percpu_counter_add take s64
- From: Peter Zijlstra <[email protected]>
- [PATCH 21/23] mm: per device dirty threshold
- From: Peter Zijlstra <[email protected]>
- [PATCH 23/23] debug: sysfs files for the current ratio/size/total
- From: Peter Zijlstra <[email protected]>
- [PATCH 03/23] lib: percpu_counter variable batch
- From: Peter Zijlstra <[email protected]>
- [PATCH 11/23] containers: bdi init hooks
- From: Peter Zijlstra <[email protected]>
- [PATCH 05/23] lib: percpu_counter_set
- From: Peter Zijlstra <[email protected]>
- [PATCH 18/23] mm: expose BDI statistics in sysfs.
- From: Peter Zijlstra <[email protected]>
- [PATCH 07/23] lib: percpu_count_sum()
- From: Peter Zijlstra <[email protected]>
- [PATCH 06/23] lib: percpu_counter_sum_positive
- From: Peter Zijlstra <[email protected]>
- [PATCH 13/23] mtd: clean up the backing_dev_info usage
- From: Peter Zijlstra <[email protected]>
- [PATCH 01/23] nfs: remove congestion_end()
- From: Peter Zijlstra <[email protected]>
- [PATCH 16/23] mm: count reclaimable pages per BDI
- From: Peter Zijlstra <[email protected]>
- [PATCH 02/23] lib: percpu_counter_add
- From: Peter Zijlstra <[email protected]>
- [PATCH 09/23] lib: percpu_counter_init_irq
- From: Peter Zijlstra <[email protected]>
- [PATCH 20/23] lib: floating proportions _single
- From: Peter Zijlstra <[email protected]>
- [PATCH 12/23] mtd: bdi init hooks
- From: Peter Zijlstra <[email protected]>
- [PATCH 14/23] mtd: give mtdconcat devices their own backing_dev_info
- From: Peter Zijlstra <[email protected]>
- [PATCH 10/23] mm: bdi init hooks
- From: Peter Zijlstra <[email protected]>
- [PATCH 08/23] lib: percpu_counter_init error handling
- From: Peter Zijlstra <[email protected]>
- [PATCH 17/23] mm: count writeback pages per BDI
- From: Peter Zijlstra <[email protected]>
- Re: [PATCH 00/23] per device dirty throttling -v8
- Prev by Date: [PATCH 02/23] lib: percpu_counter_add
- Next by Date: [PATCH 16/23] mm: count reclaimable pages per BDI
- Previous by thread: Scheduler Situation
- Next by thread: [PATCH 17/23] mm: count writeback pages per BDI
- Index(es):