All of lore.kernel.org
 help / color / mirror / Atom feed
* 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.