hc
2024-10-12 a5969cabbb4660eab42b6ef0412cbbd1200cf14d
kernel/Documentation/process/2.Process.rst
....@@ -18,18 +18,18 @@
1818 release history looks like this:
1919
2020 ====== =================
21
- 4.11 April 30, 2017
22
- 4.12 July 2, 2017
23
- 4.13 September 3, 2017
24
- 4.14 November 12, 2017
25
- 4.15 January 28, 2018
26
- 4.16 April 1, 2018
21
+ 5.0 March 3, 2019
22
+ 5.1 May 5, 2019
23
+ 5.2 July 7, 2019
24
+ 5.3 September 15, 2019
25
+ 5.4 November 24, 2019
26
+ 5.5 January 6, 2020
2727 ====== =================
2828
29
-Every 4.x release is a major kernel release with new features, internal
30
-API changes, and more. A typical 4.x release contain about 13,000
31
-changesets with changes to several hundred thousand lines of code. 4.x is
32
-thus the leading edge of Linux kernel development; the kernel uses a
29
+Every 5.x release is a major kernel release with new features, internal
30
+API changes, and more. A typical release can contain about 13,000
31
+changesets with changes to several hundred thousand lines of code. 5.x is
32
+the leading edge of Linux kernel development; the kernel uses a
3333 rolling development model which is continually integrating major changes.
3434
3535 A relatively straightforward discipline is followed with regard to the
....@@ -48,9 +48,9 @@
4848
4949 The merge window lasts for approximately two weeks. At the end of this
5050 time, Linus Torvalds will declare that the window is closed and release the
51
-first of the "rc" kernels. For the kernel which is destined to be 2.6.40,
51
+first of the "rc" kernels. For the kernel which is destined to be 5.6,
5252 for example, the release which happens at the end of the merge window will
53
-be called 2.6.40-rc1. The -rc1 release is the signal that the time to
53
+be called 5.6-rc1. The -rc1 release is the signal that the time to
5454 merge new features has passed, and that the time to stabilize the next
5555 kernel has begun.
5656
....@@ -67,22 +67,23 @@
6767 As fixes make their way into the mainline, the patch rate will slow over
6868 time. Linus releases new -rc kernels about once a week; a normal series
6969 will get up to somewhere between -rc6 and -rc9 before the kernel is
70
-considered to be sufficiently stable and the final 2.6.x release is made.
70
+considered to be sufficiently stable and the final release is made.
7171 At that point the whole process starts over again.
7272
73
-As an example, here is how the 4.16 development cycle went (all dates in
74
-2018):
73
+As an example, here is how the 5.4 development cycle went (all dates in
74
+2019):
7575
7676 ============== ===============================
77
- January 28 4.15 stable release
78
- February 11 4.16-rc1, merge window closes
79
- February 18 4.16-rc2
80
- February 25 4.16-rc3
81
- March 4 4.16-rc4
82
- March 11 4.16-rc5
83
- March 18 4.16-rc6
84
- March 25 4.16-rc7
85
- April 1 4.17 stable release
77
+ September 15 5.3 stable release
78
+ September 30 5.4-rc1, merge window closes
79
+ October 6 5.4-rc2
80
+ October 13 5.4-rc3
81
+ October 20 5.4-rc4
82
+ October 27 5.4-rc5
83
+ November 3 5.4-rc6
84
+ November 10 5.4-rc7
85
+ November 17 5.4-rc8
86
+ November 24 5.4 stable release
8687 ============== ===============================
8788
8889 How do the developers decide when to close the development cycle and create
....@@ -98,43 +99,44 @@
9899 achieve; there are just too many variables in a project of this size.
99100 There comes a point where delaying the final release just makes the problem
100101 worse; the pile of changes waiting for the next merge window will grow
101
-larger, creating even more regressions the next time around. So most 4.x
102
+larger, creating even more regressions the next time around. So most 5.x
102103 kernels go out with a handful of known regressions though, hopefully, none
103104 of them are serious.
104105
105106 Once a stable release is made, its ongoing maintenance is passed off to the
106
-"stable team," currently consisting of Greg Kroah-Hartman. The stable team
107
-will release occasional updates to the stable release using the 4.x.y
108
-numbering scheme. To be considered for an update release, a patch must (1)
109
-fix a significant bug, and (2) already be merged into the mainline for the
110
-next development kernel. Kernels will typically receive stable updates for
111
-a little more than one development cycle past their initial release. So,
112
-for example, the 4.13 kernel's history looked like:
107
+"stable team," currently Greg Kroah-Hartman. The stable team will release
108
+occasional updates to the stable release using the 5.x.y numbering scheme.
109
+To be considered for an update release, a patch must (1) fix a significant
110
+bug, and (2) already be merged into the mainline for the next development
111
+kernel. Kernels will typically receive stable updates for a little more
112
+than one development cycle past their initial release. So, for example, the
113
+5.2 kernel's history looked like this (all dates in 2019):
113114
114115 ============== ===============================
115
- September 3 4.13 stable release
116
- September 13 4.13.1
117
- September 20 4.13.2
118
- September 27 4.13.3
119
- October 5 4.13.4
120
- October 12 4.13.5
116
+ July 7 5.2 stable release
117
+ July 14 5.2.1
118
+ July 21 5.2.2
119
+ July 26 5.2.3
120
+ July 28 5.2.4
121
+ July 31 5.2.5
121122 ... ...
122
- November 24 4.13.16
123
+ October 11 5.2.21
123124 ============== ===============================
124125
125
-4.13.16 was the final stable update of the 4.13 release.
126
+5.2.21 was the final stable update of the 5.2 release.
126127
127128 Some kernels are designated "long term" kernels; they will receive support
128129 for a longer period. As of this writing, the current long term kernels
129130 and their maintainers are:
130131
131
- ====== ====================== ==============================
132
- 3.16 Ben Hutchings (very long-term stable kernel)
133
- 4.1 Sasha Levin
134
- 4.4 Greg Kroah-Hartman (very long-term stable kernel)
135
- 4.9 Greg Kroah-Hartman
136
- 4.14 Greg Kroah-Hartman
137
- ====== ====================== ==============================
132
+ ====== ================================ =======================
133
+ 3.16 Ben Hutchings (very long-term kernel)
134
+ 4.4 Greg Kroah-Hartman & Sasha Levin (very long-term kernel)
135
+ 4.9 Greg Kroah-Hartman & Sasha Levin
136
+ 4.14 Greg Kroah-Hartman & Sasha Levin
137
+ 4.19 Greg Kroah-Hartman & Sasha Levin
138
+ 5.4 Greg Kroah-Hartman & Sasha Levin
139
+ ====== ================================ =======================
138140
139141 The selection of a kernel for long-term support is purely a matter of a
140142 maintainer having the need and the time to maintain that release. There
....@@ -215,12 +217,12 @@
215217 -------------------------------
216218
217219 There is exactly one person who can merge patches into the mainline kernel
218
-repository: Linus Torvalds. But, of the over 9,500 patches which went
219
-into the 2.6.38 kernel, only 112 (around 1.3%) were directly chosen by Linus
220
-himself. The kernel project has long since grown to a size where no single
221
-developer could possibly inspect and select every patch unassisted. The
222
-way the kernel developers have addressed this growth is through the use of
223
-a lieutenant system built around a chain of trust.
220
+repository: Linus Torvalds. But, for example, of the over 9,500 patches
221
+which went into the 2.6.38 kernel, only 112 (around 1.3%) were directly
222
+chosen by Linus himself. The kernel project has long since grown to a size
223
+where no single developer could possibly inspect and select every patch
224
+unassisted. The way the kernel developers have addressed this growth is
225
+through the use of a lieutenant system built around a chain of trust.
224226
225227 The kernel code base is logically broken down into a set of subsystems:
226228 networking, specific architecture support, memory management, video
....@@ -293,7 +295,7 @@
293295 The current -mm patch is available in the "mmotm" (-mm of the moment)
294296 directory at:
295297
296
- http://www.ozlabs.org/~akpm/mmotm/
298
+ https://www.ozlabs.org/~akpm/mmotm/
297299
298300 Use of the MMOTM tree is likely to be a frustrating experience, though;
299301 there is a definite chance that it will not even compile.
....@@ -304,7 +306,7 @@
304306 Linux-next trees are announced on the linux-kernel and linux-next mailing
305307 lists when they are assembled; they can be downloaded from:
306308
307
- http://www.kernel.org/pub/linux/kernel/next/
309
+ https://www.kernel.org/pub/linux/kernel/next/
308310
309311 Linux-next has become an integral part of the kernel development process;
310312 all patches merged during a given merge window should really have found
....@@ -363,21 +365,21 @@
363365 Git is now packaged by almost all Linux distributions. There is a home
364366 page at:
365367
366
- http://git-scm.com/
368
+ https://git-scm.com/
367369
368370 That page has pointers to documentation and tutorials.
369371
370372 Among the kernel developers who do not use git, the most popular choice is
371373 almost certainly Mercurial:
372374
373
- http://www.selenic.com/mercurial/
375
+ https://www.selenic.com/mercurial/
374376
375377 Mercurial shares many features with git, but it provides an interface which
376378 many find easier to use.
377379
378380 The other tool worth knowing about is Quilt:
379381
380
- http://savannah.nongnu.org/projects/quilt/
382
+ https://savannah.nongnu.org/projects/quilt/
381383
382384 Quilt is a patch management system, rather than a source code management
383385 system. It does not track history over time; it is, instead, oriented
....@@ -403,7 +405,7 @@
403405 http://vger.kernel.org/vger-lists.html
404406
405407 There are lists hosted elsewhere, though; a number of them are at
406
-lists.redhat.com.
408
+redhat.com/mailman/listinfo.
407409
408410 The core mailing list for kernel development is, of course, linux-kernel.
409411 This list is an intimidating place to be; volume can reach 500 messages per
....@@ -492,7 +494,7 @@
492494 with others on getting things fixed up (this can require
493495 persistence!) but that's fine - it's a part of kernel development.
494496
495
-(http://lwn.net/Articles/283982/).
497
+(https://lwn.net/Articles/283982/).
496498
497499 In the absence of obvious problems to fix, developers are advised to look
498500 at the current lists of regressions and open bugs in general. There is