All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ian Campbell <ian.campbell@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Wei Liu <wei.liu2@citrix.com>
Cc: jgross@suse.com, kevin.tian@intel.com, tamas@tklengyel.com,
	keir@xen.org,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Dario Faggioli <dario.faggioli@citrix.com>,
	tim@xen.org, Jan Beulich <JBeulich@suse.com>,
	yang.z.zhang@intel.com, xen-devel@lists.xenproject.org,
	boris.ostrovsky@oracle.com
Subject: Re: [URGENT RFC] Branching and reopening -unstable
Date: Tue, 11 Aug 2015 14:23:57 +0100	[thread overview]
Message-ID: <1439299437.9747.252.camel@citrix.com> (raw)
In-Reply-To: <55C9F0CA.6070808@citrix.com>

On Tue, 2015-08-11 at 13:55 +0100, Andrew Cooper wrote:
> On 11/08/15 12:13, Ian Jackson wrote:
> > Wei Liu writes ("[URGENT RFC] Branching and reopening -unstable"):
> > > Branching should be done at one of the RC tags. It might not be 
> > > enough
> > > time for us to reach consensus before tagging RC1, so I would say 
> > > lets
> > > branch at RC2 if we don't observe blocker bugs.
> > > 
> > > Maintainers should be responsible for both 4.6 branch and -unstable
> > > branch.
> > > 
> > > As for bug fixes, here are two options.
> > I think this conflates the three questions which should be answered:
> > 
> >  Q1: What is the status of the newly branched -unstable ?  Should
> >      we avoid (some or all) big sets of changes ?
> >       (a) Don't branch
> >       (b) Branch but don't allow /any/ big changes.
> >           Seems to make branching rather pointless.
> >       (c) Branch but allow /some/ big changes.
> >           Tree is `half open', which is not ideal.
> >       (d) Branch and allow /all/ changes.
> > 
> >  Q2: If we don't avoid such changes, and a bugfix has a conflict
> >      with a change in the new unstable, who is responsible for fixing
> >      it up ?  Options include:
> >       (a) the relevant maintainers (double whammy for maintainers)
> >       (b) the submitter of the bugfix (very undesirable)
> >       (c) the submitter of the big set of changes (but what do
> >             we do if they don't respond?)
> >       (d) the stable tree maintainers (already ruled out, so included
> >             in this list for completeness; out of the question IMO)
> > 
> >  Q3: What workflow should we use, for bugfixes for bugs in 4.6-pre ?
> >     There are three options, not two:
> > 
> >       (a) Bugfixes go to 4.6 first, cherry pick to unstable
> >           This keeps our focus on 4.6, which is good.
> > 
> >       (b) Bugfixes go to 4.6 first, merge 4.6 to unstable.
> >           Not tenable if we have big changes in unstable.
> > 
> >       (c) Bugfixes to to unstable, cherry pick to 4.6.
> >           Undesirable IMO because it shifts focus to unstable.
> > 
> > Of these 2(c)/3(a) would be ideal but we don't have a good answer to
> > the problem posted in Q2(c).  I think that leaves us with 2(a):
> > maintainers have to deal with the fallout.
> > 
> > That makes 1(d) untenable in my view.  As a maintainer, I do not want
> > that additional workload.  That leaves us with 1(a) or 1(c)/2(a)/3(a).
> > 
> > With 1(c), who should decide on a particular series ?  Well, who is
> > taking the risk ?  The maintainer, who will have to pick up the
> > pieces.  I therefore conclude, we have two options:
> > 
> > A "1(a)/-/-"
> > 
> >   Do not branch yet: defer divergence until the risk of bugfixes is
> >   much lower.
> > 
> > B "1(c)(maintainer)/2(a)/3(a)"
> > 
> >   Branch.
> > 
> >   Maintainers may choose to defer patch series based on risk of
> >   conflicts with bugfixes required for 4.6.  Clear communication with
> >   submitters is required.
> > 
> >   Bugfixes for bugs in 4.6 will be accepted onto the 4.6 branch.
> >   Maintainers are required to cherry pick them onto unstable.
> > 
> >   Bugfixes will not be accepted for unstable unless it is clear that
> >   the bug was introduced in unstable since 4.6 branched.
> > 
> > I am happy with B because it gives the relevant maintainers the
> > option.
> 
> Very much A.
> 
> By definition, 1(c) will destabilise the tree and generate artificial
> work for the maintainers and committers.
> 
> The most important action at this point is to stabilise 4.6 for release,
> and peoples efforts are far better spent pursuing that, rather than
> continuing work on unstable.

While I agree that people who have things to do for the release should
prioritise the release not all contributors have a stake in the stable
releases and even those that do may not have anything which they are able
to help with etc (or e.g. have other pressures which prevent them dropping
all development work to dedicate full time to the release).

Realistically even those with 4.6-ish tasks and responsibilities aren't
going to have enough such things to do to fill their time 100% between now
and the release.

> For the sake of a couple of weeks, contributors can keep their patches
> for a little while longer.

A full freeze cycle is more like 6-8 weeks not a "couple", which is where
the tension arises between the stable release and other developers.

What seems to have been missed (or gotten a bit mislaid) in the current
analysis is _when_ to branch, the analysis assumes at rc1 while the status
quo for the last few releases has been just before release (or very late in
the rc cycle at least), which are two opposite ends of the spectrum.

There is of course plenty of middle ground between those two points. In
your use of "a couple of weeks" are you making a counter proposal to branch
at (say) rc3 or are you arguing to keep the development branch closed until
9 October?

Depending on where in the rc cycle we branch different options may have
different weights of up or down side.

Ian.

> 
> ~Andrew

  reply	other threads:[~2015-08-11 13:24 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-11 10:44 [URGENT RFC] Branching and reopening -unstable Wei Liu
2015-08-11 11:13 ` Ian Jackson
2015-08-11 12:36   ` Lars Kurth
2015-08-11 12:51   ` Ian Campbell
2015-08-11 12:55   ` Andrew Cooper
2015-08-11 13:23     ` Ian Campbell [this message]
2015-08-11 13:13   ` Stefano Stabellini
2015-08-27 14:42   ` George Dunlap
2015-09-02 16:40     ` Lars Kurth
2015-08-11 12:31 ` Wei Liu
2015-08-17 18:21   ` Yang Hongyang
2015-08-11 12:38 ` Jan Beulich
2015-08-11 13:10 ` Stefano Stabellini

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=1439299437.9747.252.camel@citrix.com \
    --to=ian.campbell@citrix.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=JBeulich@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=dario.faggioli@citrix.com \
    --cc=jgross@suse.com \
    --cc=keir@xen.org \
    --cc=kevin.tian@intel.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=tamas@tklengyel.com \
    --cc=tim@xen.org \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xenproject.org \
    --cc=yang.z.zhang@intel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.