Re: bcache/dmcache/enhanceio bake-off

From: Joe Thornber
Date: Tue Apr 16 2013 - 04:24:14 EST


On Mon, Apr 15, 2013 at 09:55:39AM -0400, Mike Snitzer wrote:
> On Sat, Apr 13 2013 at 3:33pm -0400,
> Mike Snitzer <snitzer@xxxxxxxxxx> wrote:
>
> > On Sat, Apr 13 2013 at 12:09pm -0400,
> > Joe Thornber <thornber@xxxxxxxxxx> wrote:
> >
> > > Hi Darrick,
> > >
> > > On Thu, Apr 11, 2013 at 12:22:39AM -0700, Darrick J. Wong wrote:
> > > > Hi all,
> > > >
> > > > Lately I've been having some fun playing with bcache, dmcache, and enhanceio.
> > >
> > > I pushed some tweaks to the mq policy today to my thin-dev tree. They
> > > show some improvements to these fio based tests.
> > >
> > > In addition I've written a blog post trying to explain what's going on in dm-cache:
> > > http://device-mapper.org/blog/2013/04/13/benchmarking-dm-cache-with-fio/
> >
> > Darrick,
> >
> > Joe has a few other dm-cache-target.c changes in his thin-dev branch
> > that are required in order to realize the gains from his mq changes. I
> > haven't yet isolated which changes are important but if I just use the
> > 3.9-rc6's dm-cache-tagret.c with thin-dev's mq changes I cannot
> > reproduce the improved performance Joe mentions in his blog post.
>
> I've now isolated the dm-cache-target.c commit in Joe's thin-dev that is
> important to have in conjunction with the mq changes (from commit 7362f43a):
>
> commit f134e6382a534dd3622c3850e4824ae5929885d9
> Author: Joe Thornber <ejt@xxxxxxxxxx>
> Date: Wed Mar 27 14:46:57 2013 +0000
>
> [dm-cache] Change the default migration_threshold to something more suitable.
>
> diff --git a/drivers/md/dm-cache-target.c b/drivers/md/dm-cache-target.c
> index 8a4bcf3..f215307 100644
> --- a/drivers/md/dm-cache-target.c
> +++ b/drivers/md/dm-cache-target.c
> @@ -1948,7 +1948,7 @@ static sector_t calculate_discard_block_size(sector_t cache_block_size,
> return discard_block_size;
> }
>
> -#define DEFAULT_MIGRATION_THRESHOLD (2048 * 100)
> +#define DEFAULT_MIGRATION_THRESHOLD 2048
>
> static int cache_create(struct cache_args *ca, struct cache **result)
> {

You'll certainly need the new mq writeback stuff too. I don't know
why you're intent on cherry picking.

- Joe
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/