All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <20101214130018.GA19424@localhost>

diff --git a/a/1.txt b/N1/1.txt
index 0076578..412e228 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -10,21 +10,21 @@ On Tue, Dec 14, 2010 at 03:00:05PM +0800, Wu Fengguang wrote:
 > > > pause time will be (given the same fluctuation of bdi_dirty).
 > > >
 > > > For example, if A drifts to A', its pause time may drift from 5ms to
-> > > 6ms, while B to B' may drift from 50ms to 90ms.  It's much larger
+> > > 6ms, while B to B' may drift from 50ms to 90ms. A It's much larger
 > > > fluctuations in relative ratio as well as absolute time.
 > > >
 > > > Fig.1 before patch, gap (C-B) is too low to get smooth pause time
 > > >
 > > > throttle_bandwidth_A = bdi_bandwidth .........o
-> > >                                              | o <= A'
-> > >                                              |   o
-> > >                                              |     o
-> > >                                              |       o
-> > >                                              |         o
+> > > A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A | o <= A'
+> > > A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A | A  o
+> > > A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A | A  A  o
+> > > A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A | A  A  A  o
+> > > A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A | A  A  A  A  o
 > > > throttle_bandwidth_B = bdi_bandwidth / 4 .....|...........o
-> > >                                              |           | o <= B'
+> > > A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A | A  A  A  A  A  | o <= B'
 > > > ----------------------------------------------+-----------+---o
-> > >                                              A           B   C
+> > > A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A A A  A  A  A  A  B A  C
 > > >
 > > > The solution is to lower the slope of the throttle line accordingly,
 > > > which makes B stabilize at some point more far away from C.
@@ -32,67 +32,67 @@ On Tue, Dec 14, 2010 at 03:00:05PM +0800, Wu Fengguang wrote:
 > > > Fig.2 after patch
 > > >
 > > > throttle_bandwidth_A = bdi_bandwidth .........o
-> > >                                              | o <= A'
-> > >                                              |   o
-> > >                                              |     o
-> > >    lowered max throttle bandwidth for B ===> *       o
-> > >                                              |   *     o
-> > > throttle_bandwidth_B = bdi_bandwidth / 4 .............*   o
-> > >                                              |       |   * o
+> > > A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A | o <= A'
+> > > A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A | A  o
+> > > A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A | A  A  o
+> > > A  A lowered max throttle bandwidth for B ===> * A  A  A  o
+> > > A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A | A  * A  A  o
+> > > throttle_bandwidth_B = bdi_bandwidth / 4 .............* A  o
+> > > A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A | A  A  A  | A  * o
 > > > ----------------------------------------------+-------+-------o
-> > >                                              A       B       C
+> > > A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A A A  A  A  B A  A  A  C
 > > >
 > > > Note that C is actually different points for 1-dirty and 4-dirtiers
 > > > cases, but for easy graphing, we move them together.
 > > >
 > > > Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
 > > > ---
-> > >  mm/page-writeback.c |   16 +++++++++++++---
-> > >  1 file changed, 13 insertions(+), 3 deletions(-)
+> > > A mm/page-writeback.c | A  16 +++++++++++++---
+> > > A 1 file changed, 13 insertions(+), 3 deletions(-)
 > > >
 > > > --- linux-next.orig/mm/page-writeback.c 2010-12-13 21:46:14.000000000 +0800
-> > > +++ linux-next/mm/page-writeback.c      2010-12-13 21:46:15.000000000 +0800
+> > > +++ linux-next/mm/page-writeback.c A  A  A 2010-12-13 21:46:15.000000000 +0800
 > > > @@ -587,6 +587,7 @@ static void balance_dirty_pages(struct a
-> > >        unsigned long background_thresh;
-> > >        unsigned long dirty_thresh;
-> > >        unsigned long bdi_thresh;
-> > > +       unsigned long task_thresh;
-> > >        unsigned long long bw;
-> > >        unsigned long period;
-> > >        unsigned long pause = 0;
+> > > A  A  A  A unsigned long background_thresh;
+> > > A  A  A  A unsigned long dirty_thresh;
+> > > A  A  A  A unsigned long bdi_thresh;
+> > > + A  A  A  unsigned long task_thresh;
+> > > A  A  A  A unsigned long long bw;
+> > > A  A  A  A unsigned long period;
+> > > A  A  A  A unsigned long pause = 0;
 > > > @@ -616,7 +617,7 @@ static void balance_dirty_pages(struct a
-> > >                        break;
+> > > A  A  A  A  A  A  A  A  A  A  A  A break;
 > > >
-> > >                bdi_thresh = bdi_dirty_limit(bdi, dirty_thresh, nr_dirty);
-> > > -               bdi_thresh = task_dirty_limit(current, bdi_thresh);
-> > > +               task_thresh = task_dirty_limit(current, bdi_thresh);
+> > > A  A  A  A  A  A  A  A bdi_thresh = bdi_dirty_limit(bdi, dirty_thresh, nr_dirty);
+> > > - A  A  A  A  A  A  A  bdi_thresh = task_dirty_limit(current, bdi_thresh);
+> > > + A  A  A  A  A  A  A  task_thresh = task_dirty_limit(current, bdi_thresh);
 > > >
-> > >                /*
-> > >                 * In order to avoid the stacked BDI deadlock we need
+> > > A  A  A  A  A  A  A  A /*
+> > > A  A  A  A  A  A  A  A  * In order to avoid the stacked BDI deadlock we need
 > > > @@ -638,14 +639,23 @@ static void balance_dirty_pages(struct a
 > > >
-> > >                bdi_update_bandwidth(bdi, start_time, bdi_dirty, bdi_thresh);
+> > > A  A  A  A  A  A  A  A bdi_update_bandwidth(bdi, start_time, bdi_dirty, bdi_thresh);
 > > >
-> > > -               if (bdi_dirty >= bdi_thresh || nr_dirty > dirty_thresh) {
-> > > +               if (bdi_dirty >= task_thresh || nr_dirty > dirty_thresh) {
-> > >                        pause = MAX_PAUSE;
-> > >                        goto pause;
-> > >                }
+> > > - A  A  A  A  A  A  A  if (bdi_dirty >= bdi_thresh || nr_dirty > dirty_thresh) {
+> > > + A  A  A  A  A  A  A  if (bdi_dirty >= task_thresh || nr_dirty > dirty_thresh) {
+> > > A  A  A  A  A  A  A  A  A  A  A  A pause = MAX_PAUSE;
+> > > A  A  A  A  A  A  A  A  A  A  A  A goto pause;
+> > > A  A  A  A  A  A  A  A }
 > > >
-> > > +               /*
-> > > +                * When bdi_dirty grows closer to bdi_thresh, it indicates more
-> > > +                * concurrent dirtiers. Proportionally lower the max throttle
-> > > +                * bandwidth. This will resist bdi_dirty from approaching to
-> > > +                * close to task_thresh, and help reduce fluctuations of pause
-> > > +                * time when there are lots of dirtiers.
-> > > +                */
-> > >                bw = bdi->write_bandwidth;
+> > > + A  A  A  A  A  A  A  /*
+> > > + A  A  A  A  A  A  A  A * When bdi_dirty grows closer to bdi_thresh, it indicates more
+> > > + A  A  A  A  A  A  A  A * concurrent dirtiers. Proportionally lower the max throttle
+> > > + A  A  A  A  A  A  A  A * bandwidth. This will resist bdi_dirty from approaching to
+> > > + A  A  A  A  A  A  A  A * close to task_thresh, and help reduce fluctuations of pause
+> > > + A  A  A  A  A  A  A  A * time when there are lots of dirtiers.
+> > > + A  A  A  A  A  A  A  A */
+> > > A  A  A  A  A  A  A  A bw = bdi->write_bandwidth;
 > > > -
-> > >                bw = bw * (bdi_thresh - bdi_dirty);
-> > > +               do_div(bw, bdi_thresh / BDI_SOFT_DIRTY_LIMIT + 1);
+> > > A  A  A  A  A  A  A  A bw = bw * (bdi_thresh - bdi_dirty);
+> > > + A  A  A  A  A  A  A  do_div(bw, bdi_thresh / BDI_SOFT_DIRTY_LIMIT + 1);
 > > > +
-> > > +               bw = bw * (task_thresh - bdi_dirty);
-> > >                do_div(bw, bdi_thresh / TASK_SOFT_DIRTY_LIMIT + 1);
+> > > + A  A  A  A  A  A  A  bw = bw * (task_thresh - bdi_dirty);
+> > > A  A  A  A  A  A  A  A do_div(bw, bdi_thresh / TASK_SOFT_DIRTY_LIMIT + 1);
 > > 
 > > Maybe changing this line to "do_div(bw, task_thresh /
 > > TASK_SOFT_DIRTY_LIMIT + 1);"
@@ -111,15 +111,22 @@ Sorry it's not the overall control lines that's simply shifted, but
 the task control line.
 
 bdi control line:
-> > >                bw = bw * (bdi_thresh - bdi_dirty);
-> > > +               do_div(bw, bdi_thresh / BDI_SOFT_DIRTY_LIMIT + 1);
+> > > A  A  A  A  A  A  A  A bw = bw * (bdi_thresh - bdi_dirty);
+> > > + A  A  A  A  A  A  A  do_div(bw, bdi_thresh / BDI_SOFT_DIRTY_LIMIT + 1);
 
 task control line:
-> > > +               bw = bw * (task_thresh - bdi_dirty);
-> > >                do_div(bw, bdi_thresh / TASK_SOFT_DIRTY_LIMIT + 1);
+> > > + A  A  A  A  A  A  A  bw = bw * (task_thresh - bdi_dirty);
+> > > A  A  A  A  A  A  A  A do_div(bw, bdi_thresh / TASK_SOFT_DIRTY_LIMIT + 1);
 
 The use of bdi_thresh in the last line makes sure all task control
 lines are of the same slope.
 
 Thanks,
 Fengguang
+
+--
+To unsubscribe, send a message with 'unsubscribe linux-mm' in
+the body to majordomo@kvack.org.  For more info on Linux MM,
+see: http://www.linux-mm.org/ .
+Fight unfair telecom policy in Canada: sign http://dissolvethecrtc.ca/
+Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
diff --git a/a/content_digest b/N1/content_digest
index 4833634..7ae3d91 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -37,21 +37,21 @@
  "> > > pause time will be (given the same fluctuation of bdi_dirty).\n"
  "> > >\n"
  "> > > For example, if A drifts to A', its pause time may drift from 5ms to\n"
- "> > > 6ms, while B to B' may drift from 50ms to 90ms. \302\240It's much larger\n"
+ "> > > 6ms, while B to B' may drift from 50ms to 90ms. A It's much larger\n"
  "> > > fluctuations in relative ratio as well as absolute time.\n"
  "> > >\n"
  "> > > Fig.1 before patch, gap (C-B) is too low to get smooth pause time\n"
  "> > >\n"
  "> > > throttle_bandwidth_A = bdi_bandwidth .........o\n"
- "> > > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240| o <= A'\n"
- "> > > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240| \302\240 o\n"
- "> > > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240| \302\240 \302\240 o\n"
- "> > > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240| \302\240 \302\240 \302\240 o\n"
- "> > > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240| \302\240 \302\240 \302\240 \302\240 o\n"
+ "> > > A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A | o <= A'\n"
+ "> > > A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A | A  o\n"
+ "> > > A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A | A  A  o\n"
+ "> > > A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A | A  A  A  o\n"
+ "> > > A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A | A  A  A  A  o\n"
  "> > > throttle_bandwidth_B = bdi_bandwidth / 4 .....|...........o\n"
- "> > > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240| \302\240 \302\240 \302\240 \302\240 \302\240 | o <= B'\n"
+ "> > > A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A | A  A  A  A  A  | o <= B'\n"
  "> > > ----------------------------------------------+-----------+---o\n"
- "> > > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240A \302\240 \302\240 \302\240 \302\240 \302\240 B \302\240 C\n"
+ "> > > A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A A A  A  A  A  A  B A  C\n"
  "> > >\n"
  "> > > The solution is to lower the slope of the throttle line accordingly,\n"
  "> > > which makes B stabilize at some point more far away from C.\n"
@@ -59,67 +59,67 @@
  "> > > Fig.2 after patch\n"
  "> > >\n"
  "> > > throttle_bandwidth_A = bdi_bandwidth .........o\n"
- "> > > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240| o <= A'\n"
- "> > > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240| \302\240 o\n"
- "> > > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240| \302\240 \302\240 o\n"
- "> > > \302\240 \302\240lowered max throttle bandwidth for B ===> * \302\240 \302\240 \302\240 o\n"
- "> > > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240| \302\240 * \302\240 \302\240 o\n"
- "> > > throttle_bandwidth_B = bdi_bandwidth / 4 .............* \302\240 o\n"
- "> > > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240| \302\240 \302\240 \302\240 | \302\240 * o\n"
+ "> > > A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A | o <= A'\n"
+ "> > > A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A | A  o\n"
+ "> > > A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A | A  A  o\n"
+ "> > > A  A lowered max throttle bandwidth for B ===> * A  A  A  o\n"
+ "> > > A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A | A  * A  A  o\n"
+ "> > > throttle_bandwidth_B = bdi_bandwidth / 4 .............* A  o\n"
+ "> > > A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A | A  A  A  | A  * o\n"
  "> > > ----------------------------------------------+-------+-------o\n"
- "> > > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240A \302\240 \302\240 \302\240 B \302\240 \302\240 \302\240 C\n"
+ "> > > A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A A A  A  A  B A  A  A  C\n"
  "> > >\n"
  "> > > Note that C is actually different points for 1-dirty and 4-dirtiers\n"
  "> > > cases, but for easy graphing, we move them together.\n"
  "> > >\n"
  "> > > Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>\n"
  "> > > ---\n"
- "> > > \302\240mm/page-writeback.c | \302\240 16 +++++++++++++---\n"
- "> > > \302\2401 file changed, 13 insertions(+), 3 deletions(-)\n"
+ "> > > A mm/page-writeback.c | A  16 +++++++++++++---\n"
+ "> > > A 1 file changed, 13 insertions(+), 3 deletions(-)\n"
  "> > >\n"
  "> > > --- linux-next.orig/mm/page-writeback.c 2010-12-13 21:46:14.000000000 +0800\n"
- "> > > +++ linux-next/mm/page-writeback.c \302\240 \302\240 \302\2402010-12-13 21:46:15.000000000 +0800\n"
+ "> > > +++ linux-next/mm/page-writeback.c A  A  A 2010-12-13 21:46:15.000000000 +0800\n"
  "> > > @@ -587,6 +587,7 @@ static void balance_dirty_pages(struct a\n"
- "> > > \302\240 \302\240 \302\240 \302\240unsigned long background_thresh;\n"
- "> > > \302\240 \302\240 \302\240 \302\240unsigned long dirty_thresh;\n"
- "> > > \302\240 \302\240 \302\240 \302\240unsigned long bdi_thresh;\n"
- "> > > + \302\240 \302\240 \302\240 unsigned long task_thresh;\n"
- "> > > \302\240 \302\240 \302\240 \302\240unsigned long long bw;\n"
- "> > > \302\240 \302\240 \302\240 \302\240unsigned long period;\n"
- "> > > \302\240 \302\240 \302\240 \302\240unsigned long pause = 0;\n"
+ "> > > A  A  A  A unsigned long background_thresh;\n"
+ "> > > A  A  A  A unsigned long dirty_thresh;\n"
+ "> > > A  A  A  A unsigned long bdi_thresh;\n"
+ "> > > + A  A  A  unsigned long task_thresh;\n"
+ "> > > A  A  A  A unsigned long long bw;\n"
+ "> > > A  A  A  A unsigned long period;\n"
+ "> > > A  A  A  A unsigned long pause = 0;\n"
  "> > > @@ -616,7 +617,7 @@ static void balance_dirty_pages(struct a\n"
- "> > > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240break;\n"
+ "> > > A  A  A  A  A  A  A  A  A  A  A  A break;\n"
  "> > >\n"
- "> > > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240bdi_thresh = bdi_dirty_limit(bdi, dirty_thresh, nr_dirty);\n"
- "> > > - \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 bdi_thresh = task_dirty_limit(current, bdi_thresh);\n"
- "> > > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 task_thresh = task_dirty_limit(current, bdi_thresh);\n"
+ "> > > A  A  A  A  A  A  A  A bdi_thresh = bdi_dirty_limit(bdi, dirty_thresh, nr_dirty);\n"
+ "> > > - A  A  A  A  A  A  A  bdi_thresh = task_dirty_limit(current, bdi_thresh);\n"
+ "> > > + A  A  A  A  A  A  A  task_thresh = task_dirty_limit(current, bdi_thresh);\n"
  "> > >\n"
- "> > > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240/*\n"
- "> > > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 * In order to avoid the stacked BDI deadlock we need\n"
+ "> > > A  A  A  A  A  A  A  A /*\n"
+ "> > > A  A  A  A  A  A  A  A  * In order to avoid the stacked BDI deadlock we need\n"
  "> > > @@ -638,14 +639,23 @@ static void balance_dirty_pages(struct a\n"
  "> > >\n"
- "> > > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240bdi_update_bandwidth(bdi, start_time, bdi_dirty, bdi_thresh);\n"
+ "> > > A  A  A  A  A  A  A  A bdi_update_bandwidth(bdi, start_time, bdi_dirty, bdi_thresh);\n"
  "> > >\n"
- "> > > - \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 if (bdi_dirty >= bdi_thresh || nr_dirty > dirty_thresh) {\n"
- "> > > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 if (bdi_dirty >= task_thresh || nr_dirty > dirty_thresh) {\n"
- "> > > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240pause = MAX_PAUSE;\n"
- "> > > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240goto pause;\n"
- "> > > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240}\n"
+ "> > > - A  A  A  A  A  A  A  if (bdi_dirty >= bdi_thresh || nr_dirty > dirty_thresh) {\n"
+ "> > > + A  A  A  A  A  A  A  if (bdi_dirty >= task_thresh || nr_dirty > dirty_thresh) {\n"
+ "> > > A  A  A  A  A  A  A  A  A  A  A  A pause = MAX_PAUSE;\n"
+ "> > > A  A  A  A  A  A  A  A  A  A  A  A goto pause;\n"
+ "> > > A  A  A  A  A  A  A  A }\n"
  "> > >\n"
- "> > > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 /*\n"
- "> > > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240* When bdi_dirty grows closer to bdi_thresh, it indicates more\n"
- "> > > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240* concurrent dirtiers. Proportionally lower the max throttle\n"
- "> > > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240* bandwidth. This will resist bdi_dirty from approaching to\n"
- "> > > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240* close to task_thresh, and help reduce fluctuations of pause\n"
- "> > > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240* time when there are lots of dirtiers.\n"
- "> > > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240*/\n"
- "> > > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240bw = bdi->write_bandwidth;\n"
+ "> > > + A  A  A  A  A  A  A  /*\n"
+ "> > > + A  A  A  A  A  A  A  A * When bdi_dirty grows closer to bdi_thresh, it indicates more\n"
+ "> > > + A  A  A  A  A  A  A  A * concurrent dirtiers. Proportionally lower the max throttle\n"
+ "> > > + A  A  A  A  A  A  A  A * bandwidth. This will resist bdi_dirty from approaching to\n"
+ "> > > + A  A  A  A  A  A  A  A * close to task_thresh, and help reduce fluctuations of pause\n"
+ "> > > + A  A  A  A  A  A  A  A * time when there are lots of dirtiers.\n"
+ "> > > + A  A  A  A  A  A  A  A */\n"
+ "> > > A  A  A  A  A  A  A  A bw = bdi->write_bandwidth;\n"
  "> > > -\n"
- "> > > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240bw = bw * (bdi_thresh - bdi_dirty);\n"
- "> > > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 do_div(bw, bdi_thresh / BDI_SOFT_DIRTY_LIMIT + 1);\n"
+ "> > > A  A  A  A  A  A  A  A bw = bw * (bdi_thresh - bdi_dirty);\n"
+ "> > > + A  A  A  A  A  A  A  do_div(bw, bdi_thresh / BDI_SOFT_DIRTY_LIMIT + 1);\n"
  "> > > +\n"
- "> > > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 bw = bw * (task_thresh - bdi_dirty);\n"
- "> > > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240do_div(bw, bdi_thresh / TASK_SOFT_DIRTY_LIMIT + 1);\n"
+ "> > > + A  A  A  A  A  A  A  bw = bw * (task_thresh - bdi_dirty);\n"
+ "> > > A  A  A  A  A  A  A  A do_div(bw, bdi_thresh / TASK_SOFT_DIRTY_LIMIT + 1);\n"
  "> > \n"
  "> > Maybe changing this line to \"do_div(bw, task_thresh /\n"
  "> > TASK_SOFT_DIRTY_LIMIT + 1);\"\n"
@@ -138,17 +138,24 @@
  "the task control line.\n"
  "\n"
  "bdi control line:\n"
- "> > > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240bw = bw * (bdi_thresh - bdi_dirty);\n"
- "> > > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 do_div(bw, bdi_thresh / BDI_SOFT_DIRTY_LIMIT + 1);\n"
+ "> > > A  A  A  A  A  A  A  A bw = bw * (bdi_thresh - bdi_dirty);\n"
+ "> > > + A  A  A  A  A  A  A  do_div(bw, bdi_thresh / BDI_SOFT_DIRTY_LIMIT + 1);\n"
  "\n"
  "task control line:\n"
- "> > > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 bw = bw * (task_thresh - bdi_dirty);\n"
- "> > > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240do_div(bw, bdi_thresh / TASK_SOFT_DIRTY_LIMIT + 1);\n"
+ "> > > + A  A  A  A  A  A  A  bw = bw * (task_thresh - bdi_dirty);\n"
+ "> > > A  A  A  A  A  A  A  A do_div(bw, bdi_thresh / TASK_SOFT_DIRTY_LIMIT + 1);\n"
  "\n"
  "The use of bdi_thresh in the last line makes sure all task control\n"
  "lines are of the same slope.\n"
  "\n"
  "Thanks,\n"
- Fengguang
+ "Fengguang\n"
+ "\n"
+ "--\n"
+ "To unsubscribe, send a message with 'unsubscribe linux-mm' in\n"
+ "the body to majordomo@kvack.org.  For more info on Linux MM,\n"
+ "see: http://www.linux-mm.org/ .\n"
+ "Fight unfair telecom policy in Canada: sign http://dissolvethecrtc.ca/\n"
+ "Don't email: <a href=mailto:\"dont@kvack.org\"> email@kvack.org </a>"
 
-9b984d24f0b31efbb6b2a15f94e293d3bab8a74d134e22d6a40f28b024f51b84
+8902dac7ec4c6a33a3b66312729e8b734a2286f7850dff19bdb3b8fd111f39e3

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.