[Intel-gfx] [maintainer-tools PATCH] dim: Expand drm-misc branch explanations
Sean Paul
seanpaul at chromium.org
Mon Apr 10 16:05:43 UTC 2017
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 at 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
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
More information about the Intel-gfx
mailing list