From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Kees Cook <keescook@chromium.org>
Cc: ksummit <ksummit-discuss@lists.linuxfoundation.org>
Subject: Re: [Ksummit-discuss] [MAINTAINERS SUMMIT] Developing across multiple areas of the kernel
Date: Thu, 29 Jun 2017 10:42:06 -0700 [thread overview]
Message-ID: <1498758126.2834.70.camel@HansenPartnership.com> (raw)
In-Reply-To: <CAGXu5jJ011-7JH7w4n0No=gon-jp4VTeN=0JPWaQsGh5zz79eA@mail.gmail.com>
On Thu, 2017-06-29 at 09:51 -0700, Kees Cook wrote:
> On Thu, Jun 29, 2017 at 9:36 AM, James Bottomley
> <James.Bottomley@hansenpartnership.com> wrote:
> >
> > On Wed, 2017-06-28 at 16:01 -0700, Kees Cook wrote:
> > >
> > > For refcount_t, the conversions have been going per-maintainer,
> > > and while this is likely the right way to do things, there are
> > > dependencies that are crossing releases, which seems inefficient.
> > > For example, obviously doing a refcount_t conversion requires the
> > > refcount_t implementation first (which landed in v4.11), but then
> > > later conversions wanted an option for a light implementation
> > > (expected for v4.13), but in both cases most maintainers wanted
> > > the implementations entirely landed, not just in -next (vast
> > > majority of refcount_t conversions currently in the kernel landed
> > > in v4.12, so the next wave will have to wait until v4.14 it
> > > seems). This appears mostly to be about avoiding tree
> > > dependencies, IIUC, but is an awfully slow way to do things.
> >
> > Given the performance concerns of the first implementation, this
> > timetable and the interactions that went with it seem to be pretty
> > much textbook correct, especially as none of the hot paths seemed
> > susceptible to overflow attacks.
> >
> > Any other way would have produced a lot more friction: imagine if
> > it had been done tree at once for 4.12 and then performance had
> > tanked and we'd got reversions all over the place ... you'd be
> > spending a lot more than a couple of kernel releases trying to
> > persuade maintainers to take the new improved stuff.
>
> Right, I've got no objection to the performance concerns and how that
> played out, but it's API-to-conversion steps that seem inefficient.
> E.g., instead of API 1 in v4.11, conversion wave 1 in v4.12, API 2 in
> v4.13, conversion wave 2 in v4.14, it looks like tree dependencies
> was the only reason we couldn't have had: API 1 and conversion wave 1
> in v4.11, API 2 and conversion wave 2 in v4.12 (e.g. btrfs couldn't
> compile their tree with the API living in tip, so they had to wait
> until the API was in a release).
Well don't discount tree merge problems, having seen a few caused by
API plus conversion all at once. However, by putting them through the
maintainer trees you got the review that would otherwise have been
missing which highlighted the performance concerns. Even this time
around the affected trees have a whole merge window to run performance
regressions to verify everything is OK. Based on this I think the rule
should be API in release R - 1 and conversion in release R through the
affected trees with the only exception being changes that are trivial
enough (for some value of trivial).
James
next prev parent reply other threads:[~2017-06-29 17:42 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-28 23:01 Kees Cook
2017-06-29 13:39 ` Christoph Hellwig
2017-06-30 13:02 ` Daniel Vetter
2017-06-29 16:36 ` James Bottomley
2017-06-29 16:51 ` Kees Cook
2017-06-29 17:42 ` James Bottomley [this message]
2017-06-29 17:52 ` Kees Cook
2017-06-29 18:20 ` Luis R. Rodriguez
2017-06-29 19:07 ` Linus Torvalds
2017-06-29 20:16 ` Kees Cook
2017-06-29 20:27 ` Stephen Rothwell
2017-07-14 4:04 ` Leon Romanovsky
2017-07-14 9:54 ` Greg KH
2017-07-14 10:29 ` Leon Romanovsky
2017-07-14 14:10 ` Andrew Lunn
2017-07-14 15:05 ` Mark Brown
2017-07-14 15:51 ` Leon Romanovsky
2017-07-14 16:20 ` Mark Brown
2017-07-14 15:35 ` Leon Romanovsky
2017-07-14 15:43 ` James Bottomley
2017-07-14 16:08 ` Leon Romanovsky
2017-07-14 16:18 ` Andrew Lunn
2017-07-14 16:28 ` Bart Van Assche
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=1498758126.2834.70.camel@HansenPartnership.com \
--to=james.bottomley@hansenpartnership.com \
--cc=keescook@chromium.org \
--cc=ksummit-discuss@lists.linuxfoundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox