Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Linux Kernel 2.6.20 Released

Posted by Zonk on Sun Feb 04, 2007 06:03 PM
from the enjoy-your-new-penguin dept.
diegocgteleline.es writes "After two months of development, Linux 2.6.20 has been released. This release includes two different virtualization implementations: KVM: full-virtualization capabilities using Intel/AMD virtualization extensions and a paravirtualization implementation usable by different hypervisors. Additionally, 2.6.20 includes PS3 support, a fault injection debugging feature, UDP-lite support, better per-process IO accounting, relative atime, relocatable x86 kernel, some x86 microoptimizations, lockless radix-tree readside, shared pagetables for hugetbl, and many other things. Read the list of changes for more details."
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • so (Score:5, Funny)

    by Anonymous Coward on Sunday February 04 2007, @06:05PM (#17883508)
    how much of SCO's stolen code is in this version?
  • by reset_button (903303) on Sunday February 04 2007, @06:08PM (#17883522)
    In a widely anticipated move, Linux "headcase" Torvalds today announced
    the immediate availability of the most advanced Linux kernel to date,
    version 2.6.20.

    Before downloading the actual new kernel, most avid kernel hackers have
    been involved in a 2-hour pre-kernel-compilation count-down, with some
    even spending the preceding week doing typing exercises and reciting PI
    to a thousand decimal places.

    The half-time entertainment is provided by randomly inserted trivial
    syntax errors that nerds are expected to fix at home before completing
    the compile, but most people actually seem to mostly enjoy watching the
    compile warnings, sponsored by Anheuser-Busch, scroll past.

    As ICD head analyst Walter Dickweed put it: "Releasing a new kernel on
    Superbowl Sunday means that the important 'pasty white nerd'
    constituency finally has something to do while the rest of the country
    sits comatose in front of their 65" plasma screens".

    Walter was immediately attacked for his racist and insensitive remarks
    by Geeks without Borders representative Marilyn vos Savant, who pointed
    out that not all of their members are either pasty nor white. "Some of
    them even shower!" she added, claiming that the constant stereotyping
    hurts nerds' standing in society.

    Geeks outside the US were just confused about the whole issue, and were
    heard wondering what the big hoopla was all about. Some of the more
    culturally aware of them were heard snickering about balls that weren't
    even round.

                                                Linus
  • by Professr3 (670356) on Sunday February 04 2007, @06:09PM (#17883530)
    Where would we be without lockless radix-free readsides? I don't even know what that means, and I'm a CS major!
    • Re:Too many tlas? (Score:5, Informative)

      by xenocide2 (231786) on Sunday February 04 2007, @06:35PM (#17883708) Homepage
      This comment hurts my brain. You bitch about TLAs but they're not even acronyms. Do you even know what TLA stands for?!

      Lockless means it's doing something without locking everyone else from the data. Sometimes this means optimistic resolution (everyone try, and if it looks like it screwed up, try again!), sometimes it means keeping local read copies, sometimes it means something new and/or crazy. Lockless approaches are used when you have data that lots of threads must share but efficiency concerns or non-blocking requirements force you away from simply using a lock and blocking when someone else is playing with the data.

      A radix-tree [wikipedia.org], as opposed to "radix-free", is a data structure used in certain applications, with operations dependent on the length of the key rather than the amount of data stored. In 2.6.20 [kernel.org] (and others), it's used to organize some information about the page cache.

      This code is associated with the RCU, which you may recall is part of an SCO lawsuit. If you're interested in any other feature or changes, the kernel newbies site is instrumental!
  • by MBCook (132727) <foobarsoft@foobarsoft.com> on Sunday February 04 2007, @06:22PM (#17883606) Homepage

    What is the purpose of being relocatable on x86? I don't remember reading anything about that so what is the point? Is that already possible on other architectures or is x86 the first (as it often is)? I realize the point of making user programs relocatable, but the kernel? The only thing I can think of is that this either has to do with paravirtualization (to speed it up when the kernel isn't at the base of address space), or for replacing the kernel on a running system (can't remember the name, but the idea would be to load the new kernel, transfer into it, then copy it down to the base of memory as you're executing).

    Can any explain this one to me?

    • by diegocgteleline.es (653730) on Sunday February 04 2007, @06:38PM (#17883724)
      It's useful for kdump users. Kdump uses kexec to execute a new kernel in a non-standard localization of the memory. Until now kdump people used a different kernel that was compiled to be run in a different memory localization from the standard one. With this feature, you can use the same kernel to do a standard booting and a kexec boot without carring a additional kernel image around.
    • by FooAtWFU (699187) on Sunday February 04 2007, @06:41PM (#17883742) Homepage

      This feature (enabled with CONFIG_RELOCATABLE) isn't very noticeable for end-users but it's quite interesting from a kernel POV. Until now, it was a requeriment that a i386 kernel was loaded at a fixed memory address in order to work, loading it in a different place wouldn't work. This feature allows to compile a kernel that can be loaded at different 4K-aligned addresses, but always below 1 GB, with no runtime overhead. Kdump users (a feature introduced in 2.6.13 that it triggers kexec in a kernel crash in order to boot a kernel that has been previously loaded at a 'empty' address, then runs that kernel, saves the memory where the crashed kernel was placed, dumps it in a file and continues booting the system) will benefit from this because until now the "rescue kernel" need to be compiled with different configuration options in order to make it bootable at a different address. With a relocatable kernel, the same kernel can be boot at different addresses.
      Mirrordot has a copy you can read. [mirrordot.org]
      • by shaitand (626655) on Sunday February 04 2007, @06:41PM (#17883740) Journal
        Since pointing people to the relevent document is apparently flamebait; I will copy and paste what you get if you click on the fourth heading in giant print from the changes article.

        Relocatable kernel support for x86

        This feature (enabled with CONFIG_RELOCATABLE) isn't very noticeable for end-users but it's quite interesting from a kernel POV. Until now, it was a requeriment that a i386 kernel was loaded at a fixed memory address in order to work, loading it in a different place wouldn't work. This feature allows to compile a kernel that can be loaded at different 4K-aligned addresses, but always below 1 GB, with no runtime overhead. Kdump users (a feature introduced in 2.6.13 that it triggers kexec in a kernel crash in order to boot a kernel that has been previously loaded at a 'empty' address, then runs that kernel, saves the memory where the crashed kernel was placed, dumps it in a file and continues booting the system) will benefit from this because until now the "rescue kernel" need to be compiled with different configuration options in order to make it bootable at a different address. With a relocatable kernel, the same kernel can be boot at different addresses.
  • by mr_luc (413048) * on Sunday February 04 2007, @06:28PM (#17883658)
    In addition to relative atime, relocatable kernels, microoptimizations, lockless radix-tree readside, shared pagetables for hugetbl, the new version includes:

    Cropotactical callipygization, hoptic chamferbytes, chrome-plated floydbarbers, brillig/mimsy optimizations and full slithy tove support.
  • by derrickh (157646) on Sunday February 04 2007, @06:39PM (#17883730) Homepage
    When Apple released its lastest OS, they talked about all the pretty colors it has, and the cool music you can listen to.

    When Microsoft released Vista, they talked about all the pretty colors it has, and the cool music you can listen to.

    The latest release of Linux is trumpeting virtualization, hypervisors, microoptimizations, and something about a lockless radix-tree.

    Nuff said.

    D
  • by GFree (853379) on Sunday February 04 2007, @06:40PM (#17883736)
    ... but does it run Vista?
  • by antdude (79039) on Sunday February 04 2007, @06:45PM (#17883770) Homepage Journal
    From http://kernelnewbies.org/Linux_2_6_20 [kernelnewbies.org] (raw copy and paste -- didn't fix the formatting) since the site is getting hammered:

    Short overview (for news sites, etc)

    2.6.20 makes linux join to the virtualization trends. This release adds two virtualization implementations: A full-virtualization implementation that uses Intel/AMD hardware virtualization capabilities called KVM (http://kvm.sourceforge.net) and a paravirtualization implementation (http://lwn.net/Articles/194543) that can be used by different hypervisors (Rusty's lguest; Xen and Vmware in the future, etc),. But this release also adds initial Sony Playstation 3 support, a fault injection debugging feature (http://lwn.net/Articles/209257), UDP-lite support, better per-process IO accounting, relative atime, support for using swap files for suspend users, relocatable x86 kernel support for kdump users, small microoptimizations in x86 (sleazy FPU, regparm, support for the Processor Data Area, optimizations for the Core 2 platform), a generic HID layer, DEEPNAP power savings for PPC970, lockless radix-tree readside, shared pagetables for hugetbl, ARM support for the AT91 and iop13xx processors, full NAT for nf_conntrack and many other things.

    Important things (AKA: ''the cool stuff'')

    Sony Playstation 3 support

    You may like the Wii or the 360 more, but only the PS3 is gaining official Linux support, written by Sony engineers. Notice that the support at this time is incomplete (apparently enabling it will not boot on a stock PS3) and it doesn't support the devices included like the graphics card, etc. (commit 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)

    Virtualization support through KVM

    KVM (project page) adds a driver for Intel's and AMD's hardware virtualization extensions to the x86 architecture (KVM will not work in CPUs without virtualization capabilities). See the Virtualization wiki for more information about virtualization in Linux

    The driver adds a character device (/dev/kvm) that exposes the virtualization capabilities to userspace. Using this driver, a process can run a virtual machine (a "guest") in a fully virtualized PC containing its own virtual hard disks, network adapters, and display. Each virtual machine is a process on the host; a virtual cpu is a thread in that process. kill(1), nice(1), top(1) work as expected. In effect, the driver adds a third execution mode to the existing two: we now have kernel mode, user mode, and guest mode. Guest mode has its own address space mapping guest physical memory (which is accessible to user mode by mmap()ing /dev/kvm). Guest mode has no access to any I/O devices; any such access is intercepted and directed to user mode for emulation.

    32 and 64 bits guests are supported (but not x86-64 guests on x86-32 hosts!). For i386 guests and hosts, both pae and non-pae paging modes are supported. SMP hosts and UP guests are supported, SMP guests aren't (support will be added in the future). You also can start multiple virtual machines in a host. Performance currently is non-stellar, it will be improved by a lot with the future inclusion of KVM paravirtualization KVM support.

    The Windows install currently bluescreens due to a problem with the virtual APIC, a fix is being worked on and will be added in future releases. A temporary workaround is to use an existing image or install through qemu - Windows 64-bit does not work either (commit)

    Paravirtualization support for i386

    Paravirtualization is the act of running a guest operating system, under control of a host system, where the guest has been ported to a virtual architecture which is almost like the hardware it is actually running on. This technique allows full guest systems to be run in a relatively efficient manner (continue reading this LWN article for more information). This allows to link different hypervisors (lguest/lhype/rustyvisor implements a hypervisor in 6.000 lines; Xen and Vmware will be probably ported to th
    • Re:Amazing (Score:5, Informative)

      by MartinG (52587) on Sunday February 04 2007, @06:35PM (#17883706) Homepage Journal
      Hoping this gets into distros soon.

      The latest ubuntu pre-release has the 2.6.20rc kernel. This will be 2.6.20 final (+patches) in the final "Feisty Fawn" release in a couple of months.

      Also, I believe (but I'm not 100% sure) that fedora 7 will ship 2.6.20. Current pre-release (test1) and rawhide have 2.6.19.
    • Re:kvm versus vmware (Score:5, Interesting)

      by arkhan_jg (618674) on Sunday February 04 2007, @09:32PM (#17884934)
      Not yet. I've played with it, and it's basically an alternative to the qemu closed-source module, it's using a modified qemu userland. The advantage of using a VT/SVM capable processor with KVM means you can run an unmodified guest OS; i.e. no paravirtualised custom drivers needed.

      Its biggest weakness is speed. VMware have had years of tweaking and finetuning, while kvm is very very new, and slow in certain areas. General desktop is fine, but network speed was painfully bad - for example - when I tried version 10. Plenty of work coming down the pipe, and it looks like it could be a powerful opensource virtualisation tool - in time. Right now, it is a bit fiddly to get running, and not quite ready for a production environment.

      For now I'd stick to VMWare or virtualbox, but definitely have another look at KVM in say, 6 months time.
    • Re:kvm versus vmware (Score:5, Informative)

      by aspeer (131086) on Sunday February 04 2007, @10:53PM (#17885416)
      except workstation is expensive and does slightly less


      VMWare workstation actually does more than VMWare server, which is why it is not free. You can look up the comparison table on the VMWare site, but Workstation is usually more attractive to developers because it has (amongst other things):

      • Multiple Snapshots - You can only take and rollback to one snapshot with the Server Product, Workstation allows you to go back to many different points in time.
      • Shared folders - Not available with Server. Very handy for accessing the host filesystem when the networking setup of the guest does not allow connectivity to the host (think test LAN or similar)
      The above features are "cream" on top of the core of virtualisation. If you just want to run a virtualized host, and things like snapshots or shared folders don't matter to you, use VMWare Server.


      My understanding is KVM provides the infrastructure for userland programs (such as VMWare, Xen) etc to access hardware virtualization services provided by late model Intel and AMD processors. Asking if KVM is a reasonable alternative to VMWare Server is not really a good way to frame the question - one day VMWare may use KVM for virtualisation. A better questions may be "which user-space virtualisation tool provides the best features for me as a user/developer/admin - Xen, VMWare, WidgetWorks" etc.