Slashdot Mirror


Linux 2.6.37 Released

diegocg writes "Version 2.6.37 of the Linux kernel has been released. This version includes SMP scalability improvements for Ext4 and XFS, the removal of the Big Kernel Lock, support for per-cgroup IO throttling, a networking block device based on top of the Ceph clustered filesystem, several Btrfs improvements, more efficient static probes, perf support to probe modules, LZO compression in the hibernation image, PPP over IPv4 support, several networking microoptimizations and many other small changes, improvements and new drivers for devices like the Brocade BNA 10GB ethernet, Topcliff PCH gigabit, Atheros CARL9170, Atheros AR6003 and RealTek RTL8712U. The fanotify API has also been enabled. See the full changelog for more details."

13 of 135 comments (clear)

  1. Kernel locking by iONiUM · · Score: 4, Interesting

    Well I'm glad they officially fixed the kernel lock. Out of curiosity, how long until Ubuntu or Debian sees this integrated into their line? A year? Not trolling, I only started using Ubuntu recently, so I'm curious.

    1. Re:Kernel locking by Cyberax · · Score: 4, Interesting

      Ubuntu in about 6 months, 2.6.37 should be in the 11.04 release.

      In Debian Stable - in about 2 years (in the next release).

    2. Re:Kernel locking by korgitser · · Score: 4, Funny

      And that would be the .38 special

      --
      FCKGW 09F9 42
    3. Re:Kernel locking by Bootsy+Collins · · Score: 4, Interesting

      Would someone mind explaining (for those of us who have some C experience, but aren't kernel hackers) what the Big Kernel Lock is? In particular, is this something that will impact the desktop user?

    4. Re:Kernel locking by Pr0xY · · Score: 5, Informative

      It's a fairly simple idea. In any place that two threads of execution (be them real threads or interrupts or whatever) could possibly access the same resource at the same time, locking must be used to ensure data integrity and proper operation of the code. The "Big Kernel Lock" is a system wide "stop the world" lock. This is a very easy way to make the code "correct" in the sense that it will work and not corrupt data. But the downside is that while this lock is held... everything else must wait. So you better not hold it for very long and while it is easy to get correct, it has pretty bad performance implications.

      A better solution is a fine grained lock just for that resource, so the only threads of execution which need to wait are ones that are actually contending for that resource. The downside here is that it is much more complicated to get correct. So when implementing this, you have to be *very* careful that you got it right.

      The BLK has been in the process of being removed and has been phased out of the vast majority of the kernel for a while, this change is simply enabling a build in which it doesn't even exist if you don't build any of the older drivers which don't use more fine grained locking.

    5. Re:Kernel locking by phantomcircuit · · Score: 5, Informative

      The Big Kernel Lock is a Symmetric Multi Processing (SMP) construct. In order to make kernel operations atomic you lock the entire kernel. This works as a good initial locking mechanism because it's relatively easy to implement, it avoids issues like deadlocking very well.

      The problem with the BKL is that it locks the entire kernel, even if processes are calling functions totally isolated from each other only one can be in the kernel at a time.

      In practice the BKL hasn't been a big deal for a while now since the important (performance wise) parts of the kernel have had finer grained locking.

      So It's pretty unlikely to have much effect if any on desktop users.

    6. Re:Kernel locking by Yossarian45793 · · Score: 4, Insightful

      For those that aren't aware, the BKL (big kernel lock) hasn't caused any issues except purist angst for a very long time now. All of the performance critical kernel code was fixed to use fine grained locking years ago. This change is just to satisfy the people who are offended by the architectural ugliness of the BKL. In terms of performance and everything else that matters, the removal of the BKL has absolutely no impact.

    7. Re:Kernel locking by Yossarian45793 · · Score: 4, Informative

      The BKL was a hack added in Linux 2.0 to support multiprocessor machines. It was ugly but expedient (like most engineering solutions). Over time, multiprocessor support in the kernel has gotten much better, and the BKL has become less important, up until now when it's so unimportant it can be removed entirely.

      Nobody, especially not desktop users, will notice any change from its removal.

    8. Re:Kernel locking by Kjella · · Score: 4, Interesting

      And this is one example of why the kernel doesn't have a stable ABI. You can bet tons of unmaintained third party drivers would use the BKL, so you could never get rid of it. From what I've understood purging it from every driver has been a pretty big job and only possible because all the drivers are in the kernel tree.

      --
      Live today, because you never know what tomorrow brings
  2. Re:Btrfs by tibman · · Score: 4, Informative

    It's running on my server at home, so i hope so ; )

    --
    http://soylentnews.org/~tibman
  3. Ceph is really cool by Lemming+Mark · · Score: 4, Informative

    Ceph is a really cool bit of technology. It distributes storage redundantly across multiple machines, so you can store lots and lots of data and not lose any if one of the hard drives explodes. It should distribute the load of serving that data too. You can have a network filesystem based on this already, now they've added support for virtual block devices (i.e. remote disks) over it.

    If you combine that with virtualisation (the Kernel Newbies changelog mentions that there's a patch for Qemu to directly use a Ceph-based block device) then you can do magic stuff. e.g. run all your services in virtual machines with their storage hosted by Ceph. Provide a cluster of virtualisation hosts to run those VMs. If a physical box needs maintenance, live-migrate your VMs off it without stopping them, then just yoink it from the cluster - the storage will failover magically. If a physical box explodes, just boot the VMs it was running on other nodes (or, combined with some of the hot-standby features that Xen, VMware, etc have started to offer, the VMs are already running seamlessly elsewhere as soon as the primary dies). If you need more storage or more processing, add more machines to the cluster, get Ceph to balance the storage and move some VMs around.

    Not everyone is going to want to run Ceph on their home network but if you have a need for any of this sort of functionality (or even just an enthusiasm for it) then it's super cool. Oh yes and Ceph can do snapshotting as well, I believe. Ace.

  4. What's new by Troll-Under-D'Bridge · · Score: 5, Informative

    The link in the story just points to the list post announcing a new major version of the Linux kernel. Note that the changes listed in the post are for changes from the last release candidate (-rc8) and not from the last major kernel release (2.6.36). For an overview, it's better to head over to Kernel Newbies. It even has a section which summarizes the "cool stuff", major features that the new kernel brings.

    Interestingly, the overview appears to overlook what I believe is a major feature introduced in 2.6.37: power management for USB 3. I may have to do some more digging through the actual kernel changelogs. Maybe the change was reverted during the last few candidate releases, but I remember reading about it in H-Online, particularly this part:

    The XHCI driver for USB 3.0 controllers now offers power management support (1, 2, 3, 4); this makes it possible to suspend and resume without temporarily having to unload the driver.

    (In the original, the parenthetical numbers are links to the kernel commits.)

    Power management for USB 3 would have been the most important new feature for me. Without it, you have to resort to a number of ugly hacks to hibernate or suspend a laptop or a motherboard with USB 3 enabled. (Turning off USB 3 in the BIOS is a hardware hack that allows you to bypass the software hacks.)

  5. Re:Includes the "magic 200-line" task grouping pat by sciencewatcher · · Score: 4, Informative

    That patch is scheduled for 2.6.38. This article details 2.6.37. This article is about the end of the pipeline, the article you linked to is about the beginning of the pipeline that kernel development is.