From: Kent Overstreet <kent.overstreet@gmail.com>
To: Denis Bychkov <manover@gmail.com>
Cc: linux-bcache@vger.kernel.org
Subject: Re: [PULL] Re: bcache stability patches
Date: Fri, 1 Jan 2016 13:36:59 -0900 [thread overview]
Message-ID: <20160101223659.GA12405@kmo-pixel> (raw)
In-Reply-To: <CAO2mnoyrPvUg+FQ1F-N5nz3v8BBb3UJUCjkhWTZc=MtHsEQDjA@mail.gmail.com>
On Thu, Dec 31, 2015 at 04:19:03PM -0500, Denis Bychkov wrote:
> On Thu, Dec 31, 2015 at 12:18 AM, Kent Overstreet
> <kent.overstreet@gmail.com> wrote:
> > On Wed, Dec 30, 2015 at 08:25:36PM -0700, Jens Axboe wrote:
> >> On 12/30/2015 08:15 PM, Kent Overstreet wrote:
> >> >On Wed, Dec 30, 2015 at 10:59:39AM -0700, Jens Axboe wrote:
> >> >>Looking over these, most are really simple one-liners, and nothing sticks
> >> >>out as being overly complicated. Kent, do you have any plans to maintain the
> >> >>in-kernel bcache?
> >> >
> >> >Yeah - these patches are all fine, go ahead and pull.
> >>
> >> Great, thanks.
> >>
> >> >I may start doing maintainence again at some point (but if there's someone
> >> >willing to step up and take over and do a good job of it, I'd gladly hand things
> >> >off)
> >>
> >> As long as we have a path into mainline for stability fixes, at least that's
> >> better than before.
> >
> > I'd really like to get the improvements from the bcache-dev branch upstream -
> > there's a lot of _huge_ improvements (performance and otherwise), but
> > backporting the non on disk format changes has turned out to be... not really
> > practical.
> >
> > So one of the major obstacles has been that there's a ton of very worthwhile
> > code I'd really like to get upstream, but at this point it's pretty much going
> > to have to be as drivers/md/bcache2 - effectively a fork that wouldn't support
> > the original on disk format. And that's a high hurdle.
>
> Hey Kent,
>
> Why is it so important to keep the same on-disk format? We are are
> talking about the
> caching device, not the backing device (which does not have its own
> on-disk layout, it's
> just the layout of the FS it backs, correct?)
> So what's so big of a deal if the caching device format changes? You
> just disconnect the cache set
> before the upgrade, flushing all the cached data that is not on the
> backing device, disable caching for
> this device (bcache can work without the caching device in
> write-through mode), then upgrade the
> kernel and re-create the caching device with the new format. Yes, all
> you cache is invalidated, but it
> will take few days or, in case of very intensive use/lots of new data,
> even few hours. And those who
> can't tolerate this warm-up period can stick with the old code. But,
> if you say there is A LOT of performance
> improvements, it definitely should be worth it.
> It's not like you are going to lose your backing device data, only
> invalidate the cache.
> So, can you please tell me where I am wrong here and why can't we do this?
We certainly can do all that, but: since new bcache can't read the old bcache
format (I can go into why that's impractical, if people are curious) - that
means there's a pretty high cost to switching to the new format:
- people have to manually upgrade
- the kernel would have to carry around both the old and the new
implementations of bcache for as long as people are using the old format -
we can't force people to upgrade
So this isn't something we want to do more than once, which means we need to
make sure the new on disk format is 100% done. And it's not quite done - the
main thing that's left for it to really be considered done is big endian support
and endian compatibility (writing the code so a little endian machine can read a
big endian layout and vice versa; due to the way bkeys work it's not possible to
just have an endian agnostic layout, we'll have to do swabbing).
And this isn't a trivial amount of work - and besides finishing the on disk
format, there's a fair amount of work on tooling and related stuff to make sure
everything is ready for the switch.
And, I can't work for free, so somehow funding has to be secured. Given the
number of companies that are using bcache, and the fact that Canonical and SuSe
are both apparantly putting in at least a little bit of engineering time into
supporting bcache, you'd think it should be possible but offers have not been
forthcoming.
> Speaking for myself I can help with maintenance/coding/unit test
> writing/code reviewing.
> I realize, you have no idea about my skills, but I do have some
> experience with low level/
> systems programming. I don't have a lot of DEEP knowledge about linux
> kernel, but I did a lot of
> driver-related programming back in the day, when memory was a scarce
> resource (OS/2 in 90s :).
> It was long ago, I admit, but I can learn pretty quick and, besides,
> can help with some trivial stuff
> like regression tests/debugging, etc
That would be useful, but I've had a fair number of offers for help before but
no one has actually committed the time so far.
next prev parent reply other threads:[~2016-01-01 22:37 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-22 9:13 BCACHE stability patches Denis Bychkov
2015-12-30 3:00 ` [PULL] Re: bcache " Eric Wheeler
2015-12-30 17:59 ` Jens Axboe
2015-12-31 3:15 ` Kent Overstreet
2015-12-31 3:25 ` Jens Axboe
2015-12-31 5:18 ` Kent Overstreet
2015-12-31 21:19 ` Denis Bychkov
2016-01-01 22:36 ` Kent Overstreet [this message]
2016-01-02 1:28 ` Denis Bychkov
2016-01-02 11:50 ` Vojtech Pavlik
2016-01-02 15:48 ` Denis Bychkov
2016-01-03 0:12 ` Kent Overstreet
2016-01-08 2:02 ` Eric Wheeler
2016-02-24 6:45 ` bcache stability patches: Now mainlined! Eric Wheeler
2016-02-24 6:57 ` Stefan Priebe - Profihost AG
2016-02-24 7:34 ` Eric Wheeler
2016-02-24 8:57 ` Tim Small
2015-12-31 7:23 ` [PULL] Re: bcache stability patches Denis Bychkov
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=20160101223659.GA12405@kmo-pixel \
--to=kent.overstreet@gmail.com \
--cc=linux-bcache@vger.kernel.org \
--cc=manover@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