?

Log in

No account? Create an account

Previous Entry | Next Entry

As you may already know Linux kernel 2.6.25 is released today. Among many other things (see Linux 2.6.25 changelog at kernelnewbies.org for details), it moves us one step closer to having containers in the mainstream Linux. Or maybe even two steps.

First is memory controller. The code is submitted by Balbir Singh (of IBM), and is mostly based on an earlier work by Pavel Emelyanov (of OpenVZ), Balbir and some others. It uses the "control groups" (cgroups) framework introduced earlier by Paul Menage of Google. Basically, memory controller (in its current form) lets one to control the amount of physical memory used by a group of processes (i.e. by a container). This is a vital feature for containers since all the containers are using the same RAM resource, so for containers to co-exist nicely they should not be allowed to use too much memory. Now, system administrator can set a per-container memory limits. The whole technology is known as User Beancounters (or just Beancounters) in OpenVZ world -- it's just we have more different parameters (and thus knobs and dials) in OpenVZ.

But, in a sense, the memory controller that is now in mainstream is better than one we have in OpenVZ. The one in mainstream limits the amount of physical (RSS) pages used by a container, and if this limit is exceeded, pages are swapped out. Well, in fact, they are not swapped out -- this would cause the unnecessary disk I/O activity in case it's just a container limit being hit, and otherwise there is enough memory on the system. In this case container's memory pages are put to the swap cache. In case of global memory shortage this swap cache will be freed, i.e. swapped out to disk. To summarize, this cool feature allows to have containers with strict memory limits, but decent overall system behavior.

The second feature (and thus the second step) is network namespaces -- an ability to for containers to have their own network stacks. This is still a work in progress. The first bits and pieces appeared in 2.6.24. A lot of network namespaces code (more than 200 changesets I guess) now appeared in 2.6.25, and despite my earlier predictions it's still not the end of the journey. A lot more code (also about 200 changesets) is now in net-2.6.26 tree (networking subsystem branch maintained by David Miller), scheduled to be included in Linux 2.6.26. Risking to be wrong for the second time, I'm still thinking that in Linux 2.6.26 we will likely have fairly complete implementation of net namespaces. A short description of what we will try to have in 2.6.26 as it comes for networking is here.

Speaking of 2.6.26 -- looks like it will be our next base kernel. We are now maintaining 2.6.24-based development branch (which is also used for OpenVZ-enabled Ubuntu Hardy Heron kernels), and will start porting OpenVZ patchset to 2.6.26 soon.

Finally, here's the graph that shows how many changesets, per kernel release, our team has contributed. No need to comment it I guess.



Also, here's the list of top10 contributors to the Linux 2.6.25. Our company is #7.
Top changeset contributors by employer
(None)                    1188 (9.3%)
Red Hat                   1181 (9.3%)
Novell                     817 (6.4%)
IBM                        703 (5.5%)
Intel                      472 (3.7%)
Bartlomiej Zolnierkiewicz  307 (2.4%)
Parallels                  278 (2.2%) <---
Oracle                     255 (2.0%)
bunk@kernel.org            227 (1.8%)
(Academia)                 225 (1.8%)


Pavel Emelyanov has made it to top10 of developers.
Developers with the most changesets
Bartlomiej Zolnierkiewicz  307 (2.4%)
Adrian Bunk                234 (1.8%)
Patrick McHardy            225 (1.8%)
Ingo Molnar                213 (1.7%)
Paul Mundt                 207 (1.6%)
Greg Kroah-Hartman         172 (1.4%)
Thomas Gleixner            166 (1.3%)
Jesper Nilsson             166 (1.3%)
Pavel Emelyanov            160 (1.3%) <---
Harvey Harrison            150 (1.2%)

Another prominent OpenVZ guy is Denis Lunev, who is number 26 in the list with 87 changesets. The full list of people contributed to this release is more than 1200 lines long.

Tags:

Comments

( 1 comment — Leave a comment )
ext_103573
Jun. 6th, 2008 03:50 pm (UTC)
Fantastically happy about memory controllers
Just wanted to say I'm really happy about the memory controllers stuff. It's been my one concern about widely deploying OpenVz - other than that I really have preferred OpenVz over Xen because it's so trivial to deploy. With that in place I'm looking forward to being able to allocate lots of swap to handle the occasional blip when multiple of my containers needs lots of memory at once, but set the memory controller limits so that they all are guaranteed reasonable amounts of RAM in during "normal" use.


( 1 comment — Leave a comment )

Latest Month

July 2016
S M T W T F S
     12
3456789
10111213141516
17181920212223
24252627282930
31      
Powered by LiveJournal.com
Designed by Tiffany Chow