mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 00/23] per device dirty throttling -v10
@ 2007-09-11 19:53 Peter Zijlstra
  2007-09-11 19:53 ` [PATCH 01/23] nfs: remove congestion_end() Peter Zijlstra
                   ` (23 more replies)
  0 siblings, 24 replies; 29+ messages in thread
From: Peter Zijlstra @ 2007-09-11 19:53 UTC (permalink / raw)
  To: linux-mm, linux-kernel
  Cc: miklos, akpm, neilb, dgc, tomoki.sekiyama.qu, a.p.zijlstra,
	nikita, trond.myklebust, yingchao.zhou, richard, torvalds

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



^ permalink raw reply	[flat|nested] 29+ messages in thread
* Re: [PATCH 00/23] per device dirty throttling -v10
@ 2007-09-13 23:13 Tobias Oetiker
  0 siblings, 0 replies; 29+ messages in thread
From: Tobias Oetiker @ 2007-09-13 23:13 UTC (permalink / raw)
  To: linux-kernel

Peter,

I have been using your -v9 backport to 2.6.22 (thanks very much
btw) for the last few days on an amd64 system configured like this:

 [/],[/home],[/backup],...
  on top of
 [lvm2]
  using
 [/dev/sdb]
  which is an
 [areca hw raid 6 device made up from 8 sata disks]

With your patch, performance was much improved. But still there are
some seemingly simple tasks which do not work well. Like

 cp /home/bigfile.txt /backup/bigfile.txt

or also

 rm -r /backup/big-directory

They both affect disk access times of other processes very badly.

As I said, things improved a quite a bit with your patch, but I wonder
if there is more that could be done for this particular setup?

A second thing. Since my box has 8GB memory, I am intrigued by the
idea of setting dirty_ratio not as a ratio but as an absolute
number of kilobytes as it was suggested by Neil Brown with the
dirty_kb patch a few months back. Would it make sense to forward
port this patch on top of yours ?

cheers
tobi


-- 
Tobi Oetiker, OETIKER+PARTNER AG, Aarweg 15 CH-4600 Olten
http://it.oetiker.ch tobi@oetiker.ch ++41 62 213 9902


^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2007-09-13 23:43 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-09-11 19:53 [PATCH 00/23] per device dirty throttling -v10 Peter Zijlstra
2007-09-11 19:53 ` [PATCH 01/23] nfs: remove congestion_end() Peter Zijlstra
2007-09-11 19:53 ` [PATCH 02/23] lib: percpu_counter_add Peter Zijlstra
2007-09-11 19:53 ` [PATCH 03/23] lib: percpu_counter_sub Peter Zijlstra
2007-09-11 19:53 ` [PATCH 04/23] lib: percpu_counter variable batch Peter Zijlstra
2007-09-11 19:53 ` [PATCH 05/23] lib: make percpu_counter_add take s64 Peter Zijlstra
2007-09-11 19:53 ` [PATCH 06/23] lib: percpu_counter_set Peter Zijlstra
2007-09-11 19:53 ` [PATCH 07/23] lib: percpu_counter_sum_positive Peter Zijlstra
2007-09-11 19:53 ` [PATCH 08/23] lib: percpu_count_sum() Peter Zijlstra
2007-09-11 19:53 ` [PATCH 09/23] lib: percpu_counter_init error handling Peter Zijlstra
2007-09-11 19:54 ` [PATCH 10/23] lib: percpu_counter_init_irq Peter Zijlstra
2007-09-11 19:54 ` [PATCH 11/23] mm: bdi init hooks Peter Zijlstra
2007-09-11 19:54 ` [PATCH 12/23] containers: " Peter Zijlstra
2007-09-11 19:54 ` [PATCH 13/23] mtd: " Peter Zijlstra
2007-09-11 19:54 ` [PATCH 14/23] mtd: clean up the backing_dev_info usage Peter Zijlstra
2007-09-11 19:54 ` [PATCH 15/23] mtd: give mtdconcat devices their own backing_dev_info Peter Zijlstra
2007-09-11 19:54 ` [PATCH 16/23] mm: scalable bdi statistics counters Peter Zijlstra
2007-09-11 19:54 ` [PATCH 17/23] mm: count reclaimable pages per BDI Peter Zijlstra
2007-09-11 19:54 ` [PATCH 18/23] mm: count writeback " Peter Zijlstra
2007-09-11 19:54 ` [PATCH 19/23] mm: expose BDI statistics in sysfs Peter Zijlstra
2007-09-11 19:54 ` [PATCH 20/23] lib: floating proportions Peter Zijlstra
2007-09-11 19:54 ` [PATCH 21/23] mm: per device dirty threshold Peter Zijlstra
2007-09-12  2:36   ` John Stoffel
2007-09-12  8:45     ` Peter Zijlstra
2007-09-11 19:54 ` [PATCH 22/23] mm: dirty balancing for tasks Peter Zijlstra
2007-09-11 19:54 ` [PATCH 23/23] debug: sysfs files for the current ratio/size/total Peter Zijlstra
2007-09-12  2:31 ` [PATCH 00/23] per device dirty throttling -v10 John Stoffel
2007-09-12  9:00   ` Peter Zijlstra
2007-09-13 23:13 Tobias Oetiker

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®