All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hillf Danton <hdanton@sina.com>
To: Jan Kara <jack@suse.cz>
Cc: Hillf Danton <hdanton@sina.com>, linux-mm <linux-mm@kvack.org>,
	fsdev <linux-fsdevel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	Fengguang Wu <fengguang.wu@intel.com>, Tejun Heo <tj@kernel.org>,
	Jan Kara <jack@suse.com>, Johannes Weiner <hannes@cmpxchg.org>,
	Shakeel Butt <shakeelb@google.com>,
	Minchan Kim <minchan@kernel.org>, Mel Gorman <mgorman@suse.de>
Subject: Re: [RFC v2] writeback: add elastic bdi in cgwb bdp
Date: Fri, 15 Nov 2019 11:32:40 +0800	[thread overview]
Message-ID: <20191115033240.11236-1-hdanton@sina.com> (raw)
In-Reply-To: <20191026104656.15176-1-hdanton@sina.com>


On Thu, 14 Nov 2019 13:17:46 +0100 Jan Kara wrote:
> 
> On Sat 26-10-19 18:46:56, Hillf Danton wrote:
> > 
> > The elastic bdi is the mirror bdi of spinning disks, SSD, USB and
> > other storage devices/instruments on market. The performance of
> > ebdi goes up and down as the pattern of IO dispatched changes, as
> > approximately estimated as below.
> > 
> > 	P = j(..., IO pattern);
> > 
> > In ebdi's view, the bandwidth currently measured in balancing dirty
> > pages has close relation to its performance because the former is a
> > part of the latter.
> > 
> > 	B = y(P);
> > 
> > The functions above suggest there may be a layer violation if it
> > could be better measured somewhere below fs.
> > 
> > It is measured however to the extent that makes every judge happy,
> > and is playing a role in dispatching IO with the IO pattern entirely
> > ignored that is volatile in nature.
> > 
> > And it helps to throttle the dirty speed, with the figure ignored
> > that DRAM in general is x10 faster than ebdi. If B is half of P for
> > instance, then it is near 5% of dirty speed, just 2 points from the
> > figure in the snippet below.
> > 
> > /*
> >  * If ratelimit_pages is too high then we can get into dirty-data overload
> >  * if a large number of processes all perform writes at the same time.
> >  * If it is too low then SMP machines will call the (expensive)
> >  * get_writeback_state too often.
> >  *
> >  * Here we set ratelimit_pages to a level which ensures that when all CPUs are
> >  * dirtying in parallel, we cannot go more than 3% (1/32) over the dirty memory
> >  * thresholds.
> >  */
> > 
> > To prevent dirty speed from running away from laundry speed, ebdi
> > suggests the walk-dog method to put in bdp as a leash seems to
> > churn less in IO pattern.
> > 
> > V2 is based on next-20191025.
> 
> Honestly, the changelog is still pretty incomprehensible as Andrew already
> mentioned. Also I completely miss there, what are the benefits of this work
> compared to what we currently have.
> 
Hey Jan

In the room which has been somewhere between 3% and 5% for bdp since
143dfe8611a6 ("writeback: IO-less balance_dirty_pages()") a bdp is
proposed with target of surviving tests like LTP without regressions
introduced, so overall the concerned benefit is that bdp is becoming
more diverse if the diversity under linux/fs is good for the 99%.

Hillf



  parent reply	other threads:[~2019-11-15  3:32 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-26 10:46 [RFC v2] writeback: add elastic bdi in cgwb bdp Hillf Danton
2019-11-07  8:38 ` [writeback] 2b871886bb: fio.write_bw_MBps 40.6% improvement kernel test robot
2019-11-07  8:38   ` kernel test robot
2019-11-08 21:00 ` [RFC v2] writeback: add elastic bdi in cgwb bdp Andrew Morton
2019-11-09 10:31 ` Hillf Danton
2019-11-14 12:17 ` Jan Kara
2019-11-15  3:32 ` Hillf Danton [this message]
2019-11-15  9:53   ` Jan Kara

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=20191115033240.11236-1-hdanton@sina.com \
    --to=hdanton@sina.com \
    --cc=akpm@linux-foundation.org \
    --cc=fengguang.wu@intel.com \
    --cc=hannes@cmpxchg.org \
    --cc=jack@suse.com \
    --cc=jack@suse.cz \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mgorman@suse.de \
    --cc=minchan@kernel.org \
    --cc=shakeelb@google.com \
    --cc=tj@kernel.org \
    /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.