All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: lkml@pengaru.com
Cc: linux-kernel@vger.kernel.org,
	Wu Fengguang <fengguang.wu@intel.com>, miklos <miklos@szeredi.hu>
Subject: Re: bdi_min_ratio never shrinks, ultimately preventing valid setting of min_ratio
Date: Thu, 02 Jun 2011 13:43:31 +0200	[thread overview]
Message-ID: <1307015011.2497.633.camel@laptop> (raw)
In-Reply-To: <20110601002854.GV5753@shells.gnugeneration.com>

It really helps if you CC the relevant people.

On Tue, 2011-05-31 at 19:28 -0500, lkml@pengaru.com wrote:
> mm/page-writeback.c
> There is a static global bdi_min_ratio used for policing the setting of
> per-bdi min_ratio's, to ensure the sum doesn't cross 100.
> 
> There is no place in this listing where the value is decremented by the
> respective bdi's min_ratio when a bdi is torn down. 

There is, adding a negative number is equal to a subtraction.

                min_ratio -= bdi->min_ratio;
                if (bdi_min_ratio + min_ratio < 100) {
                        bdi_min_ratio += min_ratio;
                        bdi->min_ratio += min_ratio;
                }

is the relevant piece, note that bdi->min_ratio is the current setting,
this makes min_ratio the difference between the new and old setting, and
adding this to both bdi_min_ratio (the global sum) and bdi->min_ratio
dtrt regardless if the new value is larger or smaller than the old
value.

>  This looks like a bug
> to me, and I have a situation where I'm unable to set a min_ratio to 1
> where the sum of /sys/class/bdi/*/min_ratio does not add up to 100, which
> is what triggered this investigation.

Which of the two -EINVAL cases is triggered?


  reply	other threads:[~2011-06-02 11:42 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-01  0:28 bdi_min_ratio never shrinks, ultimately preventing valid setting of min_ratio lkml
2011-06-02 11:43 ` Peter Zijlstra [this message]
2011-06-02 18:32   ` lkml
2011-06-02 21:25     ` Peter Zijlstra
2011-06-08  0:13       ` Andrew Morton
2011-06-08  9:25         ` Peter Zijlstra
2011-06-08 10:45           ` Peter Zijlstra

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1307015011.2497.633.camel@laptop \
    --to=peterz@infradead.org \
    --cc=fengguang.wu@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkml@pengaru.com \
    --cc=miklos@szeredi.hu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.