diff mbox

[maintainer-tools] dim: Expand drm-misc branch explanations

Message ID 20170410160543.3726-1-seanpaul@chromium.org (mailing list archive)
State New, archived
Headers show

Commit Message

Sean Paul April 10, 2017, 4:05 p.m. UTC
Add a bit more colour to the -misc branch explanations, and add a merge timeline
similar to the chart used in drm-intel.

Signed-off-by: Sean Paul <seanpaul@chromium.org>
---


I've compiled the with this patch and hosted the output here:
	https://people.freedesktop.org/~seanpaul/drm-misc.html




 Makefile               |  5 ++++
 drm-misc-timeline.json | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++
 drm-misc-timeline.rst  | 29 ++++++++++++++++++++++
 drm-misc.rst           | 35 +++++++++++++++++++-------
 4 files changed, 127 insertions(+), 9 deletions(-)
 create mode 100644 drm-misc-timeline.json
 create mode 100644 drm-misc-timeline.rst

Comments

Sean Paul April 14, 2017, 3:47 p.m. UTC | #1
On Mon, Apr 10, 2017 at 12:05:43PM -0400, Sean Paul wrote:
> Add a bit more colour to the -misc branch explanations, and add a merge timeline
> similar to the chart used in drm-intel.
> 
> Signed-off-by: Sean Paul <seanpaul@chromium.org>
> ---

Friendly review ping.

Sean

> 
> 
> I've compiled the with this patch and hosted the output here:
> 	https://people.freedesktop.org/~seanpaul/drm-misc.html
> 
> 
> 
> 
>  Makefile               |  5 ++++
>  drm-misc-timeline.json | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++
>  drm-misc-timeline.rst  | 29 ++++++++++++++++++++++
>  drm-misc.rst           | 35 +++++++++++++++++++-------
>  4 files changed, 127 insertions(+), 9 deletions(-)
>  create mode 100644 drm-misc-timeline.json
>  create mode 100644 drm-misc-timeline.rst
> 
> diff --git a/Makefile b/Makefile
> index 4291049..e079e35 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -17,6 +17,11 @@ drm-intel.html: drm-intel.rst drm-intel-flow.svg drm-intel-timeline.rst drm-inte
>  	rst2html $< > $@
>  	sed -i 's/<body/<body onload="WaveDrom.ProcessAll()"/' $@
>  
> +# the sed bit here is a hack to make wavedrom process the timeline
> +drm-misc.html: drm-misc.rst drm-misc-timeline.rst drm-misc-timeline.json
> +	rst2html $< > $@
> +	sed -i 's/<body/<body onload="WaveDrom.ProcessAll()"/' $@
> +
>  dim.html: dim.rst
>  
>  SC_EXCLUDE := \
> diff --git a/drm-misc-timeline.json b/drm-misc-timeline.json
> new file mode 100644
> index 0000000..7b039ce
> --- /dev/null
> +++ b/drm-misc-timeline.json
> @@ -0,0 +1,67 @@
> +{
> +	head: {
> +		text: 'drm-misc upstream merge timeline',
> +		tock: -2,
> +	},
> +
> +	foot: {
> +		text: 'time in weeks, releases/rc at the end of each week',
> +		tock: -2,
> +	},
> +
> +	signal: [
> +		[ 'upstreams',
> +			{ name: 'linus',
> +			  wave: 'x|==.=====|===.',
> +			  data: ['release', 'merge window, -rc1', '-rc2',
> +				 '-rc3', '-rc4', '-rc5', '', '-rcN',
> +				 'release + 1', 'merge window'],
> +			  node: '....123456.8.90' },
> +
> +			{ name: 'drm-fixes',
> +			  wave: '0|..=.....0...=',
> +			  data: ['drm fixes for release + 1'],
> +			  node: '....abcde.f...p' },
> +
> +			{ name: 'drm-next',
> +			  wave: '=..0.=.......0.',
> +			  data: ['drm features for release + 1',
> +				 'drm features for release + 2'],
> +			  node: '...g.stuvw"..h.' }
> +		],
> +
> +		{ name: 'drm-misc-fixes',
> +		  wave: '0|.=.....0.....',
> +		  data: ['drm-misc fixes for release + 1'],
> +		  node: '...ijklm.n.....' },
> +
> +		{ name: 'drm-misc-next-fixes',
> +		  wave: '=.xxxxxxx=..xxx',
> +		  data: ['drm-misc fixes for release + 1',
> +			 'drm-misc fixes for release + 2'],
> +		  node: '..o.........q..' },
> +
> +		{ name: 'drm-misc-next',
> +		  wave: '=........=.....',
> +		  data: ['drm-misc features for release + 2',
> +			 'drm-misc features for release + 3'],
> +		  node: '....rxyz;:.....' },
> +	],
> +
> +	edge: [
> +		/* -fixes to linus */
> +		'a~>2', 'b~>3', 'c~>4', 'd~>5', 'e~>6', 'f~>8',
> +		/* -next to linus */
> +		'g~>1 feature merge', 'h~>0 feature merge',
> +		/* misc-fixes to -next */
> +		'i~>a', 'j~>b', 'k~>c', 'l~>d', 'm~>e', 'n~>f',
> +		/* misc-next-fixes to -next */
> +		'o~>g', 'q~>p',
> +		/* misc-next to -next */
> +		'r~>s', 'x~>t', 'y~>u', 'z~>v', ';~>w', ':~>"'
> +
> +	],
> +
> +	config: { hscale:3 },
> +}
> +
> diff --git a/drm-misc-timeline.rst b/drm-misc-timeline.rst
> new file mode 100644
> index 0000000..6972777
> --- /dev/null
> +++ b/drm-misc-timeline.rst
> @@ -0,0 +1,29 @@
> +.. raw:: html
> +
> +	<script type="text/javascript">
> +	/* Embedded WaveDrom skin from http://wavedrom.com/skins/default.js */
> +
> +.. raw:: html
> +	:url: http://wavedrom.com/skins/default.js
> +
> +.. raw:: html
> +
> +	</script>
> +	<script type="text/javascript">
> +	/* Embedded WaveDrom engine from http://wavedrom.com/WaveDrom.js */
> +
> +.. raw:: html
> +	:url: http://wavedrom.com/WaveDrom.js
> +
> +.. raw:: html
> +
> +	</script>
> +	<script type="WaveDrom">
> +
> +.. raw:: html
> +	:file: drm-misc-timeline.json
> +
> +.. raw:: html
> +
> +	</script>
> +
> diff --git a/drm-misc.rst b/drm-misc.rst
> index 45ea795..caba8dc 100644
> --- a/drm-misc.rst
> +++ b/drm-misc.rst
> @@ -38,20 +38,26 @@ drm-misc-next
>  
>  This is the main feature branch where most of the patches land. This branch is
>  always open to "hide" the merge window from developers. To avoid upsetting
> -linux-next and causing mayhem in the merge window in general no pull requests
> -are sent to upstream 1-2 weeks before the merge window opens. Outside of that
> -feature freeze period pull requests are sent to upstream roughly every week, to
> -avoid too much coordination pains.
> -
> -If you're unsure apply your patch here, it can always be cherry-picked to one of
> -the -fixes patches later on. But in contrast to the drm-intel flow
> +linux-next and causing mayhem in the merge window, in general no pull requests
> +are sent to upstream after rc6 of the current kernel release. Outside of that
> +feature freeze period, pull requests are sent to upstream roughly every 1-2
> +weeks, to avoid too much coordination pains. See the timeline below for a
> +visualization of patch flow.
> +
> +If you're unsure, apply your patch here, it can always be cherry-picked to one
> +of the -fixes branches later on. But in contrast to the drm-intel flow
>  cherry-picking is not the default.
>  
>  drm-misc-next-fixes
>  ~~~~~~~~~~~~~~~~~~~
>  
> -This is for bugfixes to drm-misc-next after feature freeze, but before -rc1 is
> -tagged.
> +This branch is only relevant between rc6 of the current kernel version (X) and
> +rc1 of the next (X+1). This is the feature freeze period mentioned above in the
> +drm-misc-next section. During this time, drm-misc-next will roll over to target
> +kernel version X+2, and drm-misc-fixes will still be on kernel version X, so
> +drm-misc-next-fixes is used for fixes that target X+1.
> +
> +See the timeline below for a visualization of patch flow.
>  
>  drm-misc-fixes
>  ~~~~~~~~~~~~~~
> @@ -67,6 +73,17 @@ updated drm-tip gets rebuilt. If there's a conflict see section on `resolving
>  conflicts when rebuilding drm-tip
>  <drm-intel.html#resolving-conflicts-when-rebuilding-drm-tip>`_.
>  
> +Merge Timeline
> +~~~~~~~~~~~~~~
> +
> +This chart describes the merge timelines for various branches in terms of one
> +kernel release cycle. Worth noting is that we're working on two or three kernel
> +releases at the same time. Big features take a long time to hit a kernel
> +release. There are no fast paths.
> +
> +.. include:: drm-misc-timeline.rst
> +
> +
>  Merge Criteria
>  ==============
>  
> -- 
> 2.12.2.715.g7642488e1d-goog
Daniel Stone April 17, 2017, 10:39 a.m. UTC | #2
Hi Sean,

On 14 April 2017 at 16:47, Sean Paul <seanpaul@chromium.org> wrote:
> On Mon, Apr 10, 2017 at 12:05:43PM -0400, Sean Paul wrote:
>> Add a bit more colour to the -misc branch explanations, and add a merge timeline
>> similar to the chart used in drm-intel.
>
> Friendly review ping.

I'm extremely deprived of coffee today, but I couldn't find anything
wrong with this. Thanks for doing the diagram!

Reviewed-by: Daniel Stone <daniels@collabora.com>

Cheers,
Daniel
Daniel Vetter April 18, 2017, 9:58 a.m. UTC | #3
On Mon, Apr 17, 2017 at 11:39:45AM +0100, Daniel Stone wrote:
> Hi Sean,
> 
> On 14 April 2017 at 16:47, Sean Paul <seanpaul@chromium.org> wrote:
> > On Mon, Apr 10, 2017 at 12:05:43PM -0400, Sean Paul wrote:
> >> Add a bit more colour to the -misc branch explanations, and add a merge timeline
> >> similar to the chart used in drm-intel.
> >
> > Friendly review ping.
> 
> I'm extremely deprived of coffee today, but I couldn't find anything
> wrong with this. Thanks for doing the diagram!
> 
> Reviewed-by: Daniel Stone <daniels@collabora.com>

Applied, thx.
-Daniel

> 
> Cheers,
> Daniel
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff mbox

Patch

diff --git a/Makefile b/Makefile
index 4291049..e079e35 100644
--- a/Makefile
+++ b/Makefile
@@ -17,6 +17,11 @@  drm-intel.html: drm-intel.rst drm-intel-flow.svg drm-intel-timeline.rst drm-inte
 	rst2html $< > $@
 	sed -i 's/<body/<body onload="WaveDrom.ProcessAll()"/' $@
 
+# the sed bit here is a hack to make wavedrom process the timeline
+drm-misc.html: drm-misc.rst drm-misc-timeline.rst drm-misc-timeline.json
+	rst2html $< > $@
+	sed -i 's/<body/<body onload="WaveDrom.ProcessAll()"/' $@
+
 dim.html: dim.rst
 
 SC_EXCLUDE := \
diff --git a/drm-misc-timeline.json b/drm-misc-timeline.json
new file mode 100644
index 0000000..7b039ce
--- /dev/null
+++ b/drm-misc-timeline.json
@@ -0,0 +1,67 @@ 
+{
+	head: {
+		text: 'drm-misc upstream merge timeline',
+		tock: -2,
+	},
+
+	foot: {
+		text: 'time in weeks, releases/rc at the end of each week',
+		tock: -2,
+	},
+
+	signal: [
+		[ 'upstreams',
+			{ name: 'linus',
+			  wave: 'x|==.=====|===.',
+			  data: ['release', 'merge window, -rc1', '-rc2',
+				 '-rc3', '-rc4', '-rc5', '', '-rcN',
+				 'release + 1', 'merge window'],
+			  node: '....123456.8.90' },
+
+			{ name: 'drm-fixes',
+			  wave: '0|..=.....0...=',
+			  data: ['drm fixes for release + 1'],
+			  node: '....abcde.f...p' },
+
+			{ name: 'drm-next',
+			  wave: '=..0.=.......0.',
+			  data: ['drm features for release + 1',
+				 'drm features for release + 2'],
+			  node: '...g.stuvw"..h.' }
+		],
+
+		{ name: 'drm-misc-fixes',
+		  wave: '0|.=.....0.....',
+		  data: ['drm-misc fixes for release + 1'],
+		  node: '...ijklm.n.....' },
+
+		{ name: 'drm-misc-next-fixes',
+		  wave: '=.xxxxxxx=..xxx',
+		  data: ['drm-misc fixes for release + 1',
+			 'drm-misc fixes for release + 2'],
+		  node: '..o.........q..' },
+
+		{ name: 'drm-misc-next',
+		  wave: '=........=.....',
+		  data: ['drm-misc features for release + 2',
+			 'drm-misc features for release + 3'],
+		  node: '....rxyz;:.....' },
+	],
+
+	edge: [
+		/* -fixes to linus */
+		'a~>2', 'b~>3', 'c~>4', 'd~>5', 'e~>6', 'f~>8',
+		/* -next to linus */
+		'g~>1 feature merge', 'h~>0 feature merge',
+		/* misc-fixes to -next */
+		'i~>a', 'j~>b', 'k~>c', 'l~>d', 'm~>e', 'n~>f',
+		/* misc-next-fixes to -next */
+		'o~>g', 'q~>p',
+		/* misc-next to -next */
+		'r~>s', 'x~>t', 'y~>u', 'z~>v', ';~>w', ':~>"'
+
+	],
+
+	config: { hscale:3 },
+}
+
diff --git a/drm-misc-timeline.rst b/drm-misc-timeline.rst
new file mode 100644
index 0000000..6972777
--- /dev/null
+++ b/drm-misc-timeline.rst
@@ -0,0 +1,29 @@ 
+.. raw:: html
+
+	<script type="text/javascript">
+	/* Embedded WaveDrom skin from http://wavedrom.com/skins/default.js */
+
+.. raw:: html
+	:url: http://wavedrom.com/skins/default.js
+
+.. raw:: html
+
+	</script>
+	<script type="text/javascript">
+	/* Embedded WaveDrom engine from http://wavedrom.com/WaveDrom.js */
+
+.. raw:: html
+	:url: http://wavedrom.com/WaveDrom.js
+
+.. raw:: html
+
+	</script>
+	<script type="WaveDrom">
+
+.. raw:: html
+	:file: drm-misc-timeline.json
+
+.. raw:: html
+
+	</script>
+
diff --git a/drm-misc.rst b/drm-misc.rst
index 45ea795..caba8dc 100644
--- a/drm-misc.rst
+++ b/drm-misc.rst
@@ -38,20 +38,26 @@  drm-misc-next
 
 This is the main feature branch where most of the patches land. This branch is
 always open to "hide" the merge window from developers. To avoid upsetting
-linux-next and causing mayhem in the merge window in general no pull requests
-are sent to upstream 1-2 weeks before the merge window opens. Outside of that
-feature freeze period pull requests are sent to upstream roughly every week, to
-avoid too much coordination pains.
-
-If you're unsure apply your patch here, it can always be cherry-picked to one of
-the -fixes patches later on. But in contrast to the drm-intel flow
+linux-next and causing mayhem in the merge window, in general no pull requests
+are sent to upstream after rc6 of the current kernel release. Outside of that
+feature freeze period, pull requests are sent to upstream roughly every 1-2
+weeks, to avoid too much coordination pains. See the timeline below for a
+visualization of patch flow.
+
+If you're unsure, apply your patch here, it can always be cherry-picked to one
+of the -fixes branches later on. But in contrast to the drm-intel flow
 cherry-picking is not the default.
 
 drm-misc-next-fixes
 ~~~~~~~~~~~~~~~~~~~
 
-This is for bugfixes to drm-misc-next after feature freeze, but before -rc1 is
-tagged.
+This branch is only relevant between rc6 of the current kernel version (X) and
+rc1 of the next (X+1). This is the feature freeze period mentioned above in the
+drm-misc-next section. During this time, drm-misc-next will roll over to target
+kernel version X+2, and drm-misc-fixes will still be on kernel version X, so
+drm-misc-next-fixes is used for fixes that target X+1.
+
+See the timeline below for a visualization of patch flow.
 
 drm-misc-fixes
 ~~~~~~~~~~~~~~
@@ -67,6 +73,17 @@  updated drm-tip gets rebuilt. If there's a conflict see section on `resolving
 conflicts when rebuilding drm-tip
 <drm-intel.html#resolving-conflicts-when-rebuilding-drm-tip>`_.
 
+Merge Timeline
+~~~~~~~~~~~~~~
+
+This chart describes the merge timelines for various branches in terms of one
+kernel release cycle. Worth noting is that we're working on two or three kernel
+releases at the same time. Big features take a long time to hit a kernel
+release. There are no fast paths.
+
+.. include:: drm-misc-timeline.rst
+
+
 Merge Criteria
 ==============