lkml.org 
[lkml]   [2008]   [Nov]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH -mm] mm: fine-grained dirty_ratio_pcm and dirty_background_ratio_pcm (v2)
On Mon, 10 Nov 2008 23:03:13 +0100
Andrea Righi <righi.andrea@gmail.com> wrote:

> On 2008-11-10 22:12, Andrew Morton wrote:
> > On Mon, 10 Nov 2008 21:58:28 +0100
> > Andrea Righi <righi.andrea@gmail.com> wrote:
> >
> >> The current granularity of 5% of dirtyable memory for dirty pages writeback is
> >> too coarse for large memory machines and this will get worse as
> >> memory-size/disk-speed ratio continues to increase.
> >>
> >> These large writebacks can be unpleasant for desktop or latency-sensitive
> >> environments, where the time to complete each writeback can be perceived as a
> >> lack of responsiveness by the whole system.
> >>
> >> Following there's a similar solution as discussed in [1], but a little
> >> bit simplified in order to provide the same functionality (in particular
> >> to avoid backward compatibility problems) and reduce the amount of code
> >> needed to implement an in-kernel parser to handle percentages with
> >> decimals digits.
> >>
> >> The kernel provides the following parameters:
> >> - dirty_ratio, dirty_background_ratio in percentage (1 ... 100)
> >> - dirty_ratio_pcm, dirty_background_ratio_pcm in units of percent mille (1 ... 100,000)
> >
> > hm, so how long until dirty_ratio_pcm becomes too coarse...
> >
> > What happened to the idea of specifying these in units of kilobytes?
>
> The conclusion was that with units in KB requires much more complexity
> to keep in sync the old dirty_ratio (and dirty_background_ratio)
> interface with the new one.
>
> The KB limit is a static value, the other depends on the dirtyable
> memory. If we want to preserve the same behaviour we should do the
> following:
>
> - when dirty_ratio changes to x:
> dirty_amount_in_bytes = x * dirtyable_memory / 100.
>
> - when dirty_amount_in_bytes changes to x:
> dirty_ratio = x / dirtyable_memory * 100
>
> But anytime the dirtyable memory changes (as well as the total memory in
> the system) we should update both values accordingly to preserve the
> coherency between them.

OK.

> I wonder if setting also PERCENT_PCM (that is 1% expressed in
> fine-grained units) as a parameter could be a better long-term solution.
> And also use another name for it, because in this case this would be not
> a milli-percent value anymore.

How about we forget the percentage thing and create
/proc/sys/vm/dirty_ratio_millionths? That will give us a few more years
of moores_law(memory size)/mores_law(disk speed) too..


\
 
 \ /
  Last update: 2008-11-10 23:17    [from the cache]
©2003-2011 Jasper Spaans