mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: NeilBrown <neilb@suse.de>
To: device-mapper development <dm-devel@redhat.com>
Cc: mpatocka@redhat.com, Guangliang Zhao <gzhao@suse.com>,
	linux-kernel@vger.kernel.org, agk@redhat.com
Subject: Re: [dm-devel] [PATCH 0/3 v3] add resync speed control for dm-raid1
Date: Wed, 23 Jan 2013 15:20:44 +1100	[thread overview]
Message-ID: <20130123152044.3726fb4e@notabene.brown> (raw)
In-Reply-To: <Pine.LNX.4.64.1301222033290.4723@file.rdu.redhat.com>

[-- Attachment #1: Type: text/plain, Size: 2929 bytes --]

On Tue, 22 Jan 2013 20:44:41 -0500 (EST) Mikulas Patocka
<mpatocka@redhat.com> wrote:

> 
> 
> On Wed, 16 Jan 2013, Guangliang Zhao wrote:
> 
> > On Wed, Jan 09, 2013 at 12:43:21AM -0500, Mikulas Patocka wrote:
> > > Hi
> > Hi,
> > 
> > I think it is very good that your patches could be used for other
> > targets(snapshot, thin) after reviewing yours, but I find some issues
> > (maybe not, please correct me if I am wrong).
> > 
> > > 
> > > I did this already some times ago.
> > > I'm sending my patches in the next mail.
> > > 
> > > Basically, my and Guangliang's patches have the following differences:
> > > 
> > > my patch: uses per-module throttle settings
> > > Guangliang's patch: uses per-device settings
> > > (my patch could be changed to use per-device throttle too, but without 
> > > userspace support it isn't much useful because userspace lvm can 
> > > reload the mirror and per-device settings would be lost)
> > 
> > We couldn't force every devices in the system hold the same throttle,
> > IMHO, per-device settings couldn't be ignored. 
> > Setting the global value by the parameters of module is a good way, and
> > it could also be used to set the default value in my patches. In this way,
> > the global setting wouldn't be lost, and we could also adjust every device's
> > speed.
> 
> It could be good to have per-device throttle.
> 
> > > my patch: uses fine grained throttling of the individual IOs in kcopyd - 
> > > it measures active/inactive ratio and if the disk is active more than the 
> > > specified percentage of time, sleep is inserted.
> > 
> > I think this policy might not be able to represent the exact write speed, 
> > while other modules(such as md, drbd) monitor the real IO speed.
> 
> But you don't want to limit raid resynchronization to a certain speed. A 
> disk has varying speed, it is faster in the beginning and slower in the 
> end.
> 
> So if you want to limit raid resynchronization so that other tasks have 
> faster access to the disk, you need to limit percentage of time that is 
> spent on resynchronization, not resynchronization speed.

Sounds good ..... not that easy though.

But if the disk is otherwise idle, I want 100% of the time to be spend on
synchronisation.  If it isn't otherwise idle, I want a much more modest
faction to be used.

Getting this "right" is very hard.  You want to resync aggressively if there
is no other traffic, but to back off quickly to some small background rate if
there is any other traffic.  That is what md tries to do.

dm-raid1 has an extra complication.  It is used in clusters (clvm) where
multiple separate hosts might be accessing the device.  So the host which is
driving the resync cannot know what other IO there might be.
In that case the only thing that seems to be practical is an maximum sync
speed that can be set by the admin.

NeilBrown

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 828 bytes --]

  reply	other threads:[~2013-01-23  4:21 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-07 10:02 Guangliang Zhao
2013-01-07 10:02 ` [PATCH 1/3 v3] dm raid1: " Guangliang Zhao
2013-01-07 10:02 ` [PATCH 2/3 v3] dm raid1: add interface to set resync speed Guangliang Zhao
2013-01-07 10:02 ` [PATCH 3/3 v3] dm raid1: add interface to get " Guangliang Zhao
2013-01-09  5:43 ` [dm-devel] [PATCH 0/3 v3] add resync speed control for dm-raid1 Mikulas Patocka
2013-01-16  8:21   ` Guangliang Zhao
2013-01-23  1:44     ` Mikulas Patocka
2013-01-23  4:20       ` NeilBrown [this message]
2013-02-06  0:24         ` Mikulas Patocka
2013-01-09  5:44 ` [PATCH 1/2] mirror throttling Mikulas Patocka
2013-01-09  5:44   ` [PATCH 2/2] " Mikulas Patocka
2013-02-15  0:53     ` Alasdair G Kergon

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=20130123152044.3726fb4e@notabene.brown \
    --to=neilb@suse.de \
    --cc=agk@redhat.com \
    --cc=dm-devel@redhat.com \
    --cc=gzhao@suse.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mpatocka@redhat.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome