* What are the differences between the -next tree and the -mm tree? @ 2015-12-08 8:19 Hao Lee 2015-12-08 10:56 ` Giovanni Gherdovich 0 siblings, 1 reply; 6+ messages in thread From: Hao Lee @ 2015-12-08 8:19 UTC (permalink / raw) To: kernelnewbies Hi, I'm sorry to bother you to ask some questions about -next tree and -mm tree. I have read some documents about kernel trees, but I don't know the difference between the -next tree and -mm tree. In this post: http://lists.kernelnewbies.org/pipermail/kernelnewbies/2013-October/009145.html It seems that the -mm tree has been substituted by the -next tree. Besides, I can't find -mm tree in anywhere. So, could you explain the difference between the two trees. Regards, HaoLee ^ permalink raw reply [flat|nested] 6+ messages in thread
* What are the differences between the -next tree and the -mm tree? 2015-12-08 8:19 What are the differences between the -next tree and the -mm tree? Hao Lee @ 2015-12-08 10:56 ` Giovanni Gherdovich 2015-12-08 11:44 ` Silvan Jegen 0 siblings, 1 reply; 6+ messages in thread From: Giovanni Gherdovich @ 2015-12-08 10:56 UTC (permalink / raw) To: kernelnewbies Hello, I am not a kernel developer but I think I can answer this. This is how I understand it: Short version: -next is a very special Linux branch managed by Linus Torvalds that contains changes from all subsystem that are considered good candidate for the next release, but people want to see some more testing or "maturation". -mm is one of the many Linux subsysitems (Memory Management). Less short version: The -next tree is a branch of Linux managed by Linus Torvalds containing "experimental" or "not mature enough" changes. When Linus is convinced that a change is good, it will "graduate" it by merging that change into a Linux release candidate (-rc). The time a change sit in -next before graduating to -rc is variable and depends on the change itself; something obviusly correct will graduate fast, while some other change might need a long -next time or could even never graduate. The act of deciding what graduates and what doesn't take place in a point in time known as the "merge window". Better said, a given version of -rc has a well specified deadline for things to get into it; if a change doesn't graduate fast enough, it slips into the next window. So, after this illustration, you might thing of the possibility of some changes rotting in -next forever. Can you imagine after decades of kernel life what sort of mess this "limbo" branch could become? That's why periodically -next is "nuked" and rebuilt from all changes not yet graduated yet but are still worth of keeping around. That's the occasion to do some cleanup. This process of burning and rebuilding -next is mostly automated; one useful tool is "git rerere" [0][1] which let you record conflict fixes you did in past merges. This workflow is sometimes called "-next branch workflow" and is explained in the gitworkflows(7) man page [2]. I made a few pictures to explain it graphically in a post[3] of my blog. linux-mm, in the other hand, is a branch that contains all Memory Management (MM) related changes, as you can see in the MAINTAINERS file[4]. So, about the message you linked: "Most of the -mm tree is already in the linux-next tree" means that at that point in time, October 2013, -next included most of -mm. But the message doesn't say two "obvious" but important things: 1) the other inclusion is not true! -next wasn't equal to -mm, but surely much larger (think of all changes awaiting graduation from the other subsystems) 2) given the dynamic nature of -next, which is periodically destroyed and rebuilt, that statement only held only until the following -next rebuild (i.e. the beginning of the new development cycle). Please take what I say with a grain of salt, as I never participated to the kernel development and I am only an external observer. Consider what I write here as an explaination attempt, and I invite all people who know better to correct it. Cheers, Giovanni [0] https://git-scm.com/docs/git-rerere [1] https://git-scm.com/blog/2010/03/08/rerere.html [2] https://www.kernel.org/pub/software/scm/git/docs/gitworkflows.html [3] http://www.gghh.name/dibtp/2014/07/25/the-next-branch-workflow-and-criss-cross-merges.html [4] https://github.com/torvalds/linux/blob/master/MAINTAINERS#L6955 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20151208/253d4dda/attachment.html ^ permalink raw reply [flat|nested] 6+ messages in thread
* What are the differences between the -next tree and the -mm tree? 2015-12-08 10:56 ` Giovanni Gherdovich @ 2015-12-08 11:44 ` Silvan Jegen 2015-12-08 13:37 ` Giovanni Gherdovich 0 siblings, 1 reply; 6+ messages in thread From: Silvan Jegen @ 2015-12-08 11:44 UTC (permalink / raw) To: kernelnewbies Hi Giovanni Thanks for these explanations! Just one correction below. Am 2015-12-08 11:56, schrieb Giovanni Gherdovich: > I am not a kernel developer but I think I can answer this. > > This is how I understand it: > > Short version: > > -next is a very special Linux branch managed by Linus Torvalds I think it is Stephen Rothwell that manages linux-next (look at the author of the tags here[0]). [0] http://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git ^ permalink raw reply [flat|nested] 6+ messages in thread
* What are the differences between the -next tree and the -mm tree? 2015-12-08 11:44 ` Silvan Jegen @ 2015-12-08 13:37 ` Giovanni Gherdovich 2015-12-08 14:17 ` Sudip Mukherjee 0 siblings, 1 reply; 6+ messages in thread From: Giovanni Gherdovich @ 2015-12-08 13:37 UTC (permalink / raw) To: kernelnewbies On Tue, Dec 8, 2015 at 12:44 PM, Silvan Jegen <me@sillymon.ch> wrote: > > > I think it is Stephen Rothwell that manages linux-next (look at the author of the tags here[0]). > > > [0] http://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git Right, thanks! On Tue, Dec 8, 2015 at 9:19 AM, Hao Lee <haolee.swjtu@gmail.com> wrote: > > Hi, > > I'm sorry to bother you to ask some questions about -next tree and -mm tree. > I have read some documents about kernel trees, but I don't know the > difference between the -next tree and -mm tree. > Me neither apparently: it turns out I am only spreading misinformation. I checked Wikipedia and the "Linux Kernel" page[0] says: "After the change of the development model with 2.6.x, developers continued to want what one might call an unstable kernel tree, one that changes as rapidly as new patches come in. Andrew Morton decided to repurpose his -mm tree from memory management to serve as the destination for all new and experimental code. In September 2007 Morton decided to stop maintaining this tree.[128] In February 2008, Stephen Rothwell created the linux-next tree to serve as a place where patches aimed to be merged during the next development cycle are gathered." More over there is also a Wikipedia entry for "mm tree"[1] "Among Linux kernel developers, the -mm tree refers to a version of the kernel source code maintained by Andrew Morton. [...] Historically, the -mm tree focused on new developments for the memory management part of the kernel (mm)." Sorry for the long and wrong reply I gave earlier. Cheers, Giovanni [0] https://en.wikipedia.org/wiki/Linux_kernel [1] https://en.wikipedia.org/wiki/Mm_tree -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20151208/8e4e9e20/attachment.html ^ permalink raw reply [flat|nested] 6+ messages in thread
* What are the differences between the -next tree and the -mm tree? 2015-12-08 13:37 ` Giovanni Gherdovich @ 2015-12-08 14:17 ` Sudip Mukherjee 2015-12-09 3:51 ` Hao Lee 0 siblings, 1 reply; 6+ messages in thread From: Sudip Mukherjee @ 2015-12-08 14:17 UTC (permalink / raw) To: kernelnewbies On Tue, Dec 08, 2015 at 02:37:23PM +0100, Giovanni Gherdovich wrote: > On Tue, Dec 8, 2015 at 12:44 PM, Silvan Jegen <me@sillymon.ch> wrote: > > > > > > I think it is Stephen Rothwell that manages linux-next (look at the > author of the tags here[0]). > > > > > > [0] http://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git > > Right, thanks! Yes, Stephen Rothwell will manage linux-next and when Stephen is not available then someone might volunteer to take that responsibility. Like Mark Brown created linux-next for few days in last week. linux-next is usually used as the testing ground of almost all patches which will be sent to Linus. Almost all the merge conflicts, build failures are solved in linux-next before the patches are sent. regards sudip ^ permalink raw reply [flat|nested] 6+ messages in thread
* What are the differences between the -next tree and the -mm tree? 2015-12-08 14:17 ` Sudip Mukherjee @ 2015-12-09 3:51 ` Hao Lee 0 siblings, 0 replies; 6+ messages in thread From: Hao Lee @ 2015-12-09 3:51 UTC (permalink / raw) To: kernelnewbies Thanks for all of you. I have understood it. Just making a summary. In September 2007 Morton decided to stop maintaining the -mm tree. In February 2008, Stephen Rothwell created the linux-next tree.[1] The linux-next tree is a staging trees, where subsystem trees are collected for testing and review.[2] Linux-next tree holds code that will go into the mainline during the next merge window.[3] Stephen said, about 90% of the code that shows up in the mainline during the merge window was in linux-next prior to the opening of the window.[3] [1]:https://en.wikipedia.org/wiki/Linux_kernel [2]:http://www.linuxfoundation.org/content/how-participate-linux-community-0 [3]:https://lwn.net/Articles/608933/ Other materials: https://lwn.net/Articles/608917/ https://lwn.net/Articles/571980/ https://lwn.net/Articles/287155/ Regards, Hao Lee ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-12-09 3:51 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-12-08 8:19 What are the differences between the -next tree and the -mm tree? Hao Lee 2015-12-08 10:56 ` Giovanni Gherdovich 2015-12-08 11:44 ` Silvan Jegen 2015-12-08 13:37 ` Giovanni Gherdovich 2015-12-08 14:17 ` Sudip Mukherjee 2015-12-09 3:51 ` Hao Lee
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.