From: Dmitrii Tcvetkov <demfloro@demfloro.ru>
To: Timofey Titovets <nefelim4ag@gmail.com>
Cc: linux-btrfs@vger.kernel.org
Subject: Re: [PATCH V3] Btrfs: enchanse raid1/10 balance heuristic
Date: Sun, 31 Dec 2017 00:29:11 +0300 [thread overview]
Message-ID: <20171231002902.70599c8d@demfloro.ru> (raw)
In-Reply-To: <20171230203204.13151-1-nefelim4ag@gmail.com>
On Sat, 30 Dec 2017 23:32:04 +0300
Timofey Titovets <nefelim4ag@gmail.com> wrote:
> Currently btrfs raid1/10 balancer balance requests to mirrors,
> based on pid % num of mirrors.
>
> Make logic understood:
> - if one of underline devices are non rotational
> - Queue leght to underline devices
>
> By default try use pid % num_mirrors guessing, but:
> - If one of mirrors are non rotational, repick optimal to it
> - If underline mirror have less queue leght then optimal,
> repick to that mirror
>
> For avoid round-robin request balancing,
> lets round down queue leght:
> - By 8 for rotational devs
> - By 2 for all non rotational devs
>
> Changes:
> v1 -> v2:
> - Use helper part_in_flight() from genhd.c
> to get queue lenght
> - Move guess code to guess_optimal()
> - Change balancer logic, try use pid % mirror by default
> Make balancing on spinning rust if one of underline devices
> are overloaded
> v2 -> v3:
> - Fix arg for RAID10 - use sub_stripes, instead of num_stripes
>
> Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
Reviewed-by: Dmitrii Tcvetkov <demfloro@demfloro.ru>
next prev parent reply other threads:[~2017-12-30 21:29 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-30 20:32 [PATCH V3] Btrfs: enchanse raid1/10 balance heuristic Timofey Titovets
2017-12-30 21:29 ` Dmitrii Tcvetkov [this message]
2018-01-01 19:53 ` Dmitrii Tcvetkov
2018-01-02 18:31 ` Liu Bo
2018-01-02 21:23 ` Timofey Titovets
2018-02-20 15:45 ` Timofey Titovets
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=20171231002902.70599c8d@demfloro.ru \
--to=demfloro@demfloro.ru \
--cc=linux-btrfs@vger.kernel.org \
--cc=nefelim4ag@gmail.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;
as well as URLs for NNTP newsgroup(s).