From: Shaohua Li <shli@kernel.org>
To: Song Liu <songliubraving@fb.com>
Cc: linux-raid@vger.kernel.org, neilb@suse.com, shli@fb.com,
kernel-team@fb.com, dan.j.williams@intel.com, hch@infradead.org,
liuzhengyuang521@gmail.com, liuzhengyuan@kylinos.cn
Subject: Re: [PATCH v7 00/10] raid5-cache: enabling cache features
Date: Fri, 18 Nov 2016 13:22:48 -0800 [thread overview]
Message-ID: <20161118212248.fabrldq5r5xclly4@kernel.org> (raw)
In-Reply-To: <20161117232445.1798305-1-songliubraving@fb.com>
On Thu, Nov 17, 2016 at 03:24:35PM -0800, Song Liu wrote:
> These are the 7th version of patches to enable write cache part of
> raid5-cache. The journal part was released with kernel 4.4.
>
> The caching part uses same disk format of raid456 journal, and provides
> acceleration to writes. Write operations are committed (bio_endio) once
> the data is secured in journal. Reconstruct and RMW are postponed to
> writing-out phase, which is usually not on the critical path.
>
> The changes are organized in 10 patches (details below).
>
> Patch for chunk_aligned_read in earlier RFC is not included yet
> (http://marc.info/?l=linux-raid&m=146432700719277). But we may still need
> some optimizations later, especially for SSD raid devices.
>
> Changes between v7 and v6 (http://marc.info/?l=linux-raid&m=147881079931937):
> 1. Incorprate feedbacks;
> 2. Modify representation of write-back state machine to use STRIPE_R5C_CACHING
> instead of STRIPE_R5C_WRITE_OUT. This reduces state trasitions in
> write-through mode;
> 3. For prexor, allocate extra orig_page instead of page;
> 4. Rename and refactor of some functions and variables;
> 5. Remove path 11 (handle alloc_page failure). I will propose a simpler retry
> patch later.
Thanks for doing this, Song! And thanks Neil for the code review! I think this
series are in good shape. We do have a lot of todo stuffes to make these work
well, but we can always improve based on these. And since the default setting
is write-through, there should be no regression (hopefully). I'm going to apply
them to my for-next tree. If you have further bug fixes/improvements, please do
them against the for-next tree.
I don't apply the last patch though. That one doesn't work well for !write-back
case (sorry, didn't notice it in last review), as for write-through, we don't
need do any flush/fua. Please send an updated patch, I'll apply.
I'll list the todo here so we don't forget:
- makes read not enter state machine
- write checkpoint block to make recovery faster
- improve recovery
- handle memory allocation failure
- allow removing journal capability if journal disk fails
And of course performance tuning.
Thanks,
Shaohua
prev parent reply other threads:[~2016-11-18 21:22 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-17 23:24 [PATCH v7 00/10] raid5-cache: enabling cache features Song Liu
2016-11-17 23:24 ` [PATCH v7 01/10] md/r5cache: Check array size in r5l_init_log Song Liu
2016-11-17 23:24 ` [PATCH v7 02/10] md/r5cache: move some code to raid5.h Song Liu
2016-11-17 23:24 ` [PATCH v7 03/10] md/r5cache: State machine for raid5-cache write back mode Song Liu
2016-11-17 23:24 ` [PATCH v7 04/10] md/r5cache: caching phase of r5cache Song Liu
2016-11-17 23:24 ` [PATCH v7 05/10] md/r5cache: write-out phase and reclaim support Song Liu
2016-11-17 23:24 ` [PATCH v7 06/10] md/r5cache: sysfs entry journal_mode Song Liu
2016-11-17 23:24 ` [PATCH v7 07/10] md/r5cache: refactoring journal recovery code Song Liu
2016-11-17 23:24 ` [PATCH v7 08/10] md/r5cache: r5cache recovery: part 1 Song Liu
2016-11-17 23:24 ` [PATCH v7 09/10] md/r5cache: r5cache recovery: part 2 Song Liu
2016-11-17 23:24 ` [PATCH v7 10/10] md/r5cache: handle SYNC and FUA Song Liu
2016-11-18 21:22 ` Shaohua Li [this message]
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=20161118212248.fabrldq5r5xclly4@kernel.org \
--to=shli@kernel.org \
--cc=dan.j.williams@intel.com \
--cc=hch@infradead.org \
--cc=kernel-team@fb.com \
--cc=linux-raid@vger.kernel.org \
--cc=liuzhengyuan@kylinos.cn \
--cc=liuzhengyuang521@gmail.com \
--cc=neilb@suse.com \
--cc=shli@fb.com \
--cc=songliubraving@fb.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).