Slashdot Mirror


Linux 2.6.38 Released

darthcamaro writes "The new Linux 2.6.38 kernel is now out, and it's got a long list of performance improvements that should make Linux a whole lot faster. The kernel includes support for Transparent Huge Pages, Transmit Packet Steering (XPS), automatic process grouping, and a new RCU (Read/Copy/Update)-based path name lookup. '"This patch series was both controversial and experimental when it went in, but we're very hopeful of seeing speedups," James Bottomley, distinguished engineer at Novell said. "Just to set expectations correctly, the dcache/path lookup improvements really only impact workloads with large metadata modifications, so the big iron workloads (like databases) will likely see no change. However, stuff that critically involves metadata, like running a mail server (the postmark benchmark) should improve quite a bit."'"

30 of 159 comments (clear)

  1. Kernel Newbies link by Anonymous Coward · · Score: 5, Informative
    1. Re:Kernel Newbies link by kokoko1 · · Score: 2

      Better Approach To Mobile Adhoc Networking

      --
      http://askaralikhan.blogspot.com/
  2. Re:A now untrusted source of information by troon · · Score: 2

    It isn't sloppy. The kernel is the heart of the operating system, and the quote you extracted is precisely correct.

    --
    Ydco co ,df C erb-y go. a Ekrpat t.fxrapev
  3. Re:200-line patch by WrongSizeGlass · · Score: 2

    Isn't this the version that 200-line patch was slated for?

    I'm pretty sure that's what "automatic process grouping" is.

  4. Re:A now untrusted source of information by blair1q · · Score: 2, Insightful

    he could argue that making the kernel faster makes the OS faster

    which is what the quote said

  5. Re:Enough of this! by sslayer · · Score: 2

    You mean like LKM, which has existed for, erm, like forever?

  6. Re:200-line patch by blair1q · · Score: 2

    i think that's the wonder of it

    because i wonder what it will do, too

    albeit, i haven't followed kernel fixes for years

    i imagine someone's found a way to fake priority by treating a group of processes as one process when allocating cpu, because it solves one problem someone was having while causing someone else a problem

    the example was forking 20 compile processes. normally that's a big speedup because when one has to pend on some i/o, another can pick up and do some work on your overall compile. with this new scheduling instead of 20 new processes crowding the few existing processes into much less cpu, now the 20 processes only act like one new process

    which makes me wonder why you'd fork 20 processes any more, since they'll have only one process' share of the resource. might as well run them sequentially; it'll take almost exactly as long

    unless that example wasn't the benchmark we're looking for...

  7. Re:Enough of this! by Jon+Stone · · Score: 5, Funny

    Is that you, Tanenbaum?

  8. Re:200-line patch by Wrath0fb0b · · Score: 4, Informative

    As someone who knows bugger all about Linux, can anyone confirm if that patch will have any kind of impact on Android Devices or is it the kind of thing only a desktop user will see a difference with?

    The Android kernel and the Linux kernel are pretty much irreparably forked, after the Linux people (perhaps rightly, I don't know) refused to accept the Android patches back into the trunk over the wakelock controversy. Unfortunately, the rift there never healed and there was never any real resolution.

    In order for this to apply to Android, Google would have to port the changes over.

  9. Re:200-line patch by butalearner · · Score: 4, Informative

    Isn't this the version that 200-line patch was slated for?

    I'm pretty sure that's what "automatic process grouping" is.

    Yup. Some links:

    • This LWN talks about the switch from TTY-based grouping to session ID-based grouping.
    • Lennart Poettering's alternative solution using cgroups, which works perfectly fine as long as you don't care the changes are in user space (i.e. you have to manually set this up on each computer).
    • Another alternative is using Con Kolivas' BFS, which reportedly shows similar improvements, not to mention actually pays attention to nice levels. Of course you actually have to build your own kernel, or get it from someone else, or use a distro that uses it by default like PCLinuxOS or Zenwalk.
  10. Re:200-line patch by Timothy+Brownawell · · Score: 5, Informative

    the example was forking 20 compile processes. normally that's a big speedup because when one has to pend on some i/o, another can pick up and do some work on your overall compile. with this new scheduling instead of 20 new processes crowding the few existing processes into much less cpu, now the 20 processes only act like one new process which makes me wonder why you'd fork 20 processes any more, since they'll have only one process' share of the resource. might as well run them sequentially; it'll take almost exactly as long

    Say you have regular desktop programs that take some small amount of CPU, and you want to be able to compile things a quickly as possible without making your music skip or your window manager get laggy. Before this you would have to guess at the right number of compile processes to run; too few and it takes longer and doesn't use all your CPU, too many and your desktop gets laggy. Now, the scheduler treats all of the compiler processes as a group, and lets your music player and window manager steal CPU cycles from them more easily -- so you can run more processes and keep the CPU busy, without worrying about your music skipping.

  11. Re:200-line patch by Tetsujin · · Score: 5, Informative

    i think that's the wonder of it

    because i wonder what it will do, too

    albeit, i haven't followed kernel fixes for years

    i imagine someone's found a way to fake priority by treating a group of processes as one process when allocating cpu, because it solves one problem someone was having while causing someone else a problem

    the example was forking 20 compile processes. normally that's a big speedup because when one has to pend on some i/o, another can pick up and do some work on your overall compile. with this new scheduling instead of 20 new processes crowding the few existing processes into much less cpu, now the 20 processes only act like one new process

    which makes me wonder why you'd fork 20 processes any more, since they'll have only one process' share of the resource

    That's not quite right.

    Basically, there are lots of conditions that could cause any process to give up its time slice. Your network application may be waiting for packets to process. Your video player may have decoded all the compressed video it needs for the moment, etc. The idea here is that certain programs, even if they're not doing a whole lot of work at any given time, still need frequent service so they can keep doing what they need to do.

    If your machine were running 3 processes (in separate groups) and you ran another 20 in a single group, those 20 processes wouldn't wind up limited to 25% of the CPU time. In all likelihood, they'd continue using the lion's share of the machine's resources until the job is done.

    What this scheme does do is help out those other three processes: instead of getting 1 time slice each out of every 23 to see if they have work to do, they'll get one out of every four (via group scheduling). If they have a bunch of work to do, this means they'll effectively have higher priority than the individual processes in that big job. But if they're largely idle, the big job will be able to consume the left-over CPU time.

    So it's not a perfect system, and it's not any kind of CPU quota system or QoS system, it doesn't really restrict what processes on the system can do. It's a hint for the scheduler, to try and give priority to processes that need it.

    --
    Bow-ties are cool.
  12. Re:200-line patch by Timothy+Brownawell · · Score: 3, Informative

    (And if it's completely IO bound, there's never been any reason to fork it 20 ways.)

    That depends on why it's IO bound. If you're saturating available bandwidth then yes, but for example if you're trying to crawl a bunch of really slow webservers on the far side of the internet (high round-trip time) then you'd really want to have several outstanding requests at any given time. Even if you're IO bound against local disk parallelism can sometimes help a little, since it gives the IO scheduler more to work with.

  13. Re:200-line patch by PhrstBrn · · Score: 2

    Say you have a machine with 16 cores total. Person A runs a compile that runs on 16 processes. Person B runs a program that runs on 1 processor.

    The old model says that Person A gets 16 shares, and Person B gets 1 share of CPU time. The new model says person A and B both get 50% share of the CPU time.

    In the old model, Person A will hog all of 15 cores, and end up using about half of the 16th core. Person B will only be able to use 50% of one core. In the new model, Person A will be able to use all of 15 cores, and Person B will end up being able to use all of the 16th core.

    You can see in the old model, Person B is penalized for only running one process, and Person A is monopolizing the CPU. In the new model, Person B is able to use all of 1 CPU, while Person A is able to use the reset of the cores without interfering with Person B.

    Your compiles may run slower, but it won't interfere with everything else on the system because you wanted to hog all the resources. Each processor group has equal shares to processor time, not each process.

  14. Misleading article by Edmund+Blackadder · · Score: 5, Insightful

    It is great news that the Linux kernel performance keeps improving, and nowadays you can get the fastest performing commonly used OS for free. But I have to point out that the way the slashdot summary was written is misleading. The slashdot summary has the following quote:

    '"This patch series was both controversial and experimental when it went in, but we're very hopeful of seeing speedups," James Bottomley, distinguished engineer at Novell said. "Just to set expectations correctly, the dcache/path lookup improvements really only impact workloads with large metadata modifications, so the big iron workloads (like databases) will likely see no change. However, stuff that critically involves metadata, like running a mail server (the postmark benchmark) should improve quite a bit."'

    If you read the actual article you will notice that this quote refers only to the RCU portion. Other aspects like transparent huge pages are not controversial and they will improve database performance.

  15. A kernel for today's world by diegocg · · Score: 4, Interesting

    B.A.T.M.A.N. mesh protocol (which helps to provide network connectivity in the presence of natural disasters, military conflicts or Internet censorship)

    Looking at what happened recently in Japan, Lybia or Egypt...it seems a feature that I would like to have in my system. Just in case...

  16. A whole lot faster? by kwerle · · Score: 2

    What does that mean? Is it like 20% faster? I dunno - I think 5% would be a lot faster. But .5% or less? what are we talking about, here?

  17. Re:200-line patch by Anonymous Coward · · Score: 2, Funny

    Figured it might be like that.
    Personally I look for ways to peg the CPU. 8 cores at 2.8 GHz running web browsers ain't doing it most days.
    I wonder if there's a patch for that.

    That's what the System Idle process is for. So it looks like you'll have to move to Windows if you want to utiize your system to the maximum.

  18. Re:200-line patch by lee1 · · Score: 2

    Does this mean that it's as fast as BeOS now?

  19. Re:A now untrusted source of information by anon37 · · Score: 5, Funny

    Incorrect. The term "operating system" refers to software written by Richard Stallman and GNU. The "Linux kernel" is not "the heart" of anything! It is merely a component in the Emacs software suite.

  20. Re:200-line patch by vga_init · · Score: 4, Insightful

    In my opinion, Android isn't the first Linux-based project to rely on a custom kernel. I've seen many such systems pop up in the industry, most of them dead and gone now. The reason is that once the fork has been created, it falls out of development and becomes obsolete after a time. The Linux kernel has been customized and forked by projects countless times. What's going to happen is that the fork is simply going to become outdated and once it's obsolete, the current Linux kernel will have to be forked yet again. Re-forking becomes inevitable part of the project's continued development.

  21. Re:200-line patch by gmhowell · · Score: 2

    Figured it might be like that.
    Personally I look for ways to peg the CPU. 8 cores at 2.8 GHz running web browsers ain't doing it most days.
    I wonder if there's a patch for that.

    Yeah, it's called FlashPlayer.exe

    --
    Jesus was all right but his disciples were thick and ordinary. -John Lennon
  22. Re:YOUR point's taken, but his? Come on... apk by WorBlux · · Score: 5, Informative

    Look at it a little closer.

    In 2010 (last full year)

    Windows 7 - 47 (87% patched)

    Linux 2.6 - 47 (94% patched)

    But look a little deeper and you find something more interesting

    Remote vulnerabilities

    Windows - 55%

    Linux - 9%

    Criticality

    Windows - 6% not, 36% less, 17% moderately, 40% highly.

    Linux - 47% not c, 49% Less, 4% Moderate

    Impact for System Access

    Windows - 47%

    Linux - 1%

    Not all bugs and vulnerabilities are made equal or are equally important. Every program no matter how good, will have bugs, and some bugs will be exploitable. Your comparison is also flawed as 2.6 is much older than windows 7. (By a factor of about 5) Your reasoning is further flawed as a list of of windows vulnerability doesn't include, word, above, acrobat, or IE exploits. which will also add a number of vulnerabilities to a home desktop windows system.

  23. Re:200-line patch by smellotron · · Score: 2

    (And if it's completely IO bound, there's never been any reason to fork it 20 ways.)

    I can think of a few reasons:

    1. Code with blocking I/O is easier to write than asynchronous I/O. The system calls are easier. The inter-task scheduling is managed People Who Get Paid To Do That instead of the local application developer, which means it's less prone to weird corner cases like starvation or lost signals.
    2. Some per-process limitation crops up, such as a 32-bit memory space ceiling or a ulimit. Splitting tasks into multiple processes allows the kernel to manage a larger amount of resources (virtual memory, open file descriptors, what-have-you) than can any single process.
    3. Some inherent unreliability exists in the system, such as dynamic linkage to plugins like FlashPlayer.exe or mod_php.so. Splitting tasks into multiple processes allows one of them to die in a fire after shitting all over its own stack.
  24. Re:As always, XKCD seems apropos by jabjoe · · Score: 2

    Go on then, I'll bite.
    That's not Linux's problem, it's Adobe's and the graphics card manufacturers. Loads of reimplimenting of closed stuff needs to happen for it to be Linux's fault. (That's Linux as a platform, not as just a kernel) With Gallium/DRM/KMS/Wayland/etc and HTML5 hopefully it will be Linux's problem and will all go away nicely. Having said all that, works ok for me now with the closed Flash player and the closed NVidia drivers. It's just unpalatable (and you are left in the slow lane of X developments, oh and booting is ugly and you can't switch virtual tty safely or fast).

  25. State of SSD support? by jones_supa · · Score: 2

    I'm still curious about SSD support. Yes, TRIM command is supported but is it actually connected to the filesystems? Partition alignment is also a bit of a mystery, but according to some rumors, recent Ubuntu installers get it right.

    1. Re:State of SSD support? by sbalneav · · Score: 2

      TRIM support works on recent kernels, and EXT4 filesystems, for me. You just have to make sure you mount with -o discard

  26. Re:200-line patch by AvitarX · · Score: 3, Funny

    Doesn't BeOS lack things that one expects from an OS though, like users?

    --
    Wow, sent an e-mail as suggested when clicking on "use classic" banner, and got a fast response that addressed my msg
  27. Re:200-line patch by blair1q · · Score: 2

    That's why it's so fast.