From: Dan Williams <dan.j.williams@intel.com>
To: neilb@suse.de
Cc: linux-raid@vger.kernel.org, jes.sorensen@redhat.com,
Artur Paszkiewicz <artur.paszkiewicz@intel.com>,
Dave Jiang <dave.jiang@intel.com>
Subject: [RFC PATCH 0/3] Base compatibility support for Intel(R) Smart Response Technology
Date: Wed, 23 Apr 2014 23:18:44 -0700 [thread overview]
Message-ID: <20140424061756.3187.2633.stgit@viggo.jf.intel.com> (raw)
Initial request for comment on kernel support for these
platform-firmware defined SSD + HDD cache configurations shipping on
recent platforms. Note, mdadm support to enumerate/assemble these
arrays is included in a follow on patchset.
The largest architectural difference over the existing "imsm" external
metadata support is a new md personality "isrt" that handles the
cache-specific metadata. The base metadata required to assemble the
volume is handled in userspace. The next major difference is that these
configurations span "containers". In the standard cache configuration
two single-drive-raid0 volumes (from separate containers) are associated
into a cached volume. The diagram below attempts to make this clearer.
+-----------------------+ +----------------------+
| sda | SSD | sdb | HDD
| +-------------------+ | | +------------------+ |
| | /dev/md/imsm0 | | Container0 | | /dev/md/imsm1 | | Container1
| | +---------------+ | | | | +--------------+ | |
| | | /dev/md/vol0 | | | RAID Volume0 | | | /dev/md/vol1 | | | RAID Volume1
| | | +---------+ | | | | | | +----------+ | | |
| | | |SRT Cache| | | | | | | |SRT Target| | | |
+-+-+--+----+----+--+-+-+ +-+-+-+----+-----+-+-+-+
| |
| |
| HDD Cached by SSD |
| +--------------+ |
+-----------+ /dev/md/isrt +----------+
+--------------+
"Base compatibility" refers to the fact that this implementation does
not target performance. Instead, this simply provides the ability to
perform cache coherent reads and writes. For example, cache-inserts are
never performed. The only case where we update the cache metadata is
dirtying an existing frame in the cache, otherwise the write is directed
to the HDD. Reads are decomposed into portions that can be routed and wholly
consumed by the SSD or the HDD (directed by the cache metadata).
The primary motivation for this release is dual-boot compatibility.
Whether this support is paired with existing multi-device cache policy
engines in the kernel for a performance oriented use case is TBD.
Existing bug reports and feature requests:
https://bugzilla.redhat.com/show_bug.cgi?id=890881
https://bugzilla.redhat.com/show_bug.cgi?id=1040362
To simplify testing these patches are also available via github, but be
warned this tree will rebase in response to review feedback:
git://github.com/djbw/linux isrt
---
Dan Williams (3):
md/isrt: base infrastructure and metadata loading
md/isrt: read support
md/isrt: write support
drivers/md/Kconfig | 18 +
drivers/md/Makefile | 1
drivers/md/isrt.c | 745 +++++++++++++++++++++++++++++++++++++++++++++++++++
drivers/md/isrt.h | 300 +++++++++++++++++++++
4 files changed, 1064 insertions(+), 0 deletions(-)
create mode 100644 drivers/md/isrt.c
create mode 100644 drivers/md/isrt.h
next reply other threads:[~2014-04-24 6:18 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-24 6:18 Dan Williams [this message]
2014-04-24 6:18 ` [RFC PATCH 1/3] md/isrt: base infrastructure and metadata loading Dan Williams
2014-04-24 7:24 ` NeilBrown
2014-04-24 7:38 ` Dan Williams
2014-04-24 8:02 ` NeilBrown
2014-04-24 17:33 ` Dan Williams
2014-04-24 23:44 ` NeilBrown
2014-04-24 23:55 ` Dan Williams
2014-04-24 6:18 ` [RFC PATCH 2/3] md/isrt: read support Dan Williams
2014-04-24 6:19 ` [RFC PATCH 3/3] md/isrt: write support Dan Williams
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=20140424061756.3187.2633.stgit@viggo.jf.intel.com \
--to=dan.j.williams@intel.com \
--cc=artur.paszkiewicz@intel.com \
--cc=dave.jiang@intel.com \
--cc=jes.sorensen@redhat.com \
--cc=linux-raid@vger.kernel.org \
--cc=neilb@suse.de \
/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).