All of lore.kernel.org
 help / color / mirror / Atom feed
From: Duncan <1i5t5.duncan@cox.net>
To: linux-btrfs@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH v1 0/5] BTRFS hot relocation support
Date: Tue, 21 May 2013 02:22:34 +0000 (UTC)	[thread overview]
Message-ID: <pan$d5913$460afe14$f9be182d$7f8dbe54@cox.net> (raw)
In-Reply-To: 1369062687-23544-1-git-send-email-zwu.kernel@gmail.com

zwu.kernel posted on Mon, 20 May 2013 23:11:22 +0800 as excerpted:

> The patchset is trying to introduce hot relocation support
> for BTRFS. In hybrid storage environment, when the data in rotating disk
> get hot, it can be relocated to nonrotating disk by BTRFS hot relocation
> support automatically; also, if nonrotating disk ratio exceed its upper
> threshold, the data which get cold can be looked up and relocated to
> rotating disk to make more space in nonrotating disk at first, and then
> the data which get hot will be relocated to nonrotating disk
> automatically.

One advantage of a filesystem implementation, as opposed to bcache or 
dmcache, is arguably a corner-case, but it's /my/ corner-case, so...

I run an intr*-less (I guess technically, empty initramfs) monolithic-
kernel boot, using the kernel commandline root= and (formerly) md= and 
related logic to choose/assemble/mount root directly from the kernel 
command line via bootloader (grub2).  Thus, any user-space-required-to-
mount-root is out, since I don't have an initr* and thus no early 
userspace.  That means both lvm2 and dmcache (AFAIK) are out.  I'm not 
sure about bcache, but it has other negatives, particularly against btrfs-
raid-1 and I'd guess md/raid-1 as well.

Much like md before it, btrfs, while normally requiring the user-space-
required device-scan to properly handle multiple devices, has kernel-
command-line options that allow direct kernel multi-device assembly 
without the help of early-userspace/initr*.

So in-btrfs hot-relocation support building on the existing kernel-
command-line multi-device assembly options would definitely be welcomed 
by all us no-initr* folks looking at SSDs but not able to afford them 
for /everything/ just yet. =:^)

(That said, even if accepted, your solution's a bit late for my own 
current needs, but there's surely going to be others hitting the same 
issue in a few kernel cycles when your patches could be mainline btrfs, 
and having the option at my next upgrade cycle say a couple years out 
would be very nice, indeed. =:^)

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman


WARNING: multiple messages have this Message-ID (diff)
From: Duncan <1i5t5.duncan@cox.net>
To: linux-kernel@vger.kernel.org
Cc: linux-btrfs@vger.kernel.org
Subject: Re: [RFC PATCH v1 0/5] BTRFS hot relocation support
Date: Tue, 21 May 2013 02:22:34 +0000 (UTC)	[thread overview]
Message-ID: <pan$d5913$460afe14$f9be182d$7f8dbe54@cox.net> (raw)
In-Reply-To: 1369062687-23544-1-git-send-email-zwu.kernel@gmail.com

zwu.kernel posted on Mon, 20 May 2013 23:11:22 +0800 as excerpted:

> The patchset is trying to introduce hot relocation support
> for BTRFS. In hybrid storage environment, when the data in rotating disk
> get hot, it can be relocated to nonrotating disk by BTRFS hot relocation
> support automatically; also, if nonrotating disk ratio exceed its upper
> threshold, the data which get cold can be looked up and relocated to
> rotating disk to make more space in nonrotating disk at first, and then
> the data which get hot will be relocated to nonrotating disk
> automatically.

One advantage of a filesystem implementation, as opposed to bcache or 
dmcache, is arguably a corner-case, but it's /my/ corner-case, so...

I run an intr*-less (I guess technically, empty initramfs) monolithic-
kernel boot, using the kernel commandline root= and (formerly) md= and 
related logic to choose/assemble/mount root directly from the kernel 
command line via bootloader (grub2).  Thus, any user-space-required-to-
mount-root is out, since I don't have an initr* and thus no early 
userspace.  That means both lvm2 and dmcache (AFAIK) are out.  I'm not 
sure about bcache, but it has other negatives, particularly against btrfs-
raid-1 and I'd guess md/raid-1 as well.

Much like md before it, btrfs, while normally requiring the user-space-
required device-scan to properly handle multiple devices, has kernel-
command-line options that allow direct kernel multi-device assembly 
without the help of early-userspace/initr*.

So in-btrfs hot-relocation support building on the existing kernel-
command-line multi-device assembly options would definitely be welcomed 
by all us no-initr* folks looking at SSDs but not able to afford them 
for /everything/ just yet. =:^)

(That said, even if accepted, your solution's a bit late for my own 
current needs, but there's surely going to be others hitting the same 
issue in a few kernel cycles when your patches could be mainline btrfs, 
and having the option at my next upgrade cycle say a couple years out 
would be very nice, indeed. =:^)

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman


  parent reply	other threads:[~2013-05-21  2:22 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-20 15:11 [RFC PATCH v1 0/5] BTRFS hot relocation support zwu.kernel
2013-05-20 15:11 ` [RFC PATCH v1 1/5] BTRFS hot reloc, vfs: add one list_head field zwu.kernel
2013-05-20 15:11 ` [RFC PATCH v1 2/5] BTRFS hot reloc: add one new block group zwu.kernel
2013-05-20 15:11 ` [RFC PATCH v1 3/5] BTRFS hot reloc: add one hot reloc thread zwu.kernel
2013-05-20 15:11 ` [RFC PATCH v1 4/5] BTRFS hot reloc, procfs: add three proc interfaces zwu.kernel
2013-05-20 15:11 ` [RFC PATCH v1 5/5] BTRFS hot reloc: add hot relocation support zwu.kernel
2013-05-21  2:22 ` Duncan [this message]
2013-05-21  2:22   ` [RFC PATCH v1 0/5] BTRFS " Duncan
2013-05-29  0:38   ` Kent Overstreet
2013-05-29  1:42     ` Duncan

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='pan$d5913$460afe14$f9be182d$7f8dbe54@cox.net' \
    --to=1i5t5.duncan@cox.net \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-kernel@vger.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.