Linux 2.6.22 Kernel Released
Posted by
kdawson
on Mon Jul 09, 2007 04:33 AM
from the when-you-must-have-the-latest dept.
from the when-you-must-have-the-latest dept.
An anonymous reader writes "Linux creator Linus Torvalds announced the official release of the 2.6.22 kernel: 'It's out there now (or at least in the process of mirroring out — if you don't see everything, give it a bit of time).' The previous stable kernel, 2.6.21, was released a little over two months ago. New features in the 2.6.22 kernel include a SLUB allocator which replaces the slab allocator, a new wireless stack, a new Firewire stack, and support for the Blackfin architecture. Source-level changes can be tracked via the gitweb interface to Linus' kernel tree."
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.
What is this? (Score:5, Funny)
(http://whineymacfanboy.googlepages.com/ | Last Journal: Thursday April 12 2007, @09:28AM)
I've read & reread the linked articles, and not a single mention of the iPhone - and it's been over 48 hours since an iPhone story. Seriously - it's like slashdot's turned into a linux site, instead of an iPhone site.
Let's not forget our roots folks - just because linux is the big hype story today.
Re:What is this? (Score:5, Funny)
(http://slashdot.org/~Corporate%20Troll | Last Journal: Friday July 06, @03:55AM)
Re:What is this? (Score:5, Funny)
(http://whineymacfanboy.googlepages.com/ | Last Journal: Thursday April 12 2007, @09:28AM)
Thank you, but I do feel that there's a little too much redundancy in my nick. I mean, if I was called "mac fanboy", you'd assume whiney.
For that matter, if I was just called 'mac', everyone would read the implied 'whiney fanboy'
Re:What is this? (Score:4, Informative)
(http://www.emacswiki...iki/ChristopherSmith | Last Journal: Wednesday November 07, @07:35AM)
Re:What is this? (Score:5, Funny)
What's SLUB? (Score:1, Interesting)
Re:What's SLUB? (Score:5, Informative)
(http://psrautela.blogspot.com/ | Last Journal: Tuesday April 10 2007, @08:21AM)
There for you, help yourself.
BTW in short plain english, it adds some voodoo stuff to struct page, removes a lot of metadata cruft from the slab allocator, adds lesser and simple locking after removing most of locks which are not required because of the changes in the cache layer.
So if you are running your kernel on a huge farm of processors of the order of thousand(s), you ll find a remarkable memory saving, which is a big overhead in slab allocation.
HTH
Re:What's SLUB? (Score:5, Funny)
(http://www.hmallett.co.uk/)
I believe that brings the amount of the Linux kernel containing Voodoo to 13%.
SLUB much better than slab (Score:5, Funny)
Anybody (Score:3, Interesting)
Re:Anybody (Score:4, Informative)
(http://psrautela.blogspot.com/ | Last Journal: Tuesday April 10 2007, @08:21AM)
Second now there are less threads in the firewire subsystem, which is indeed good because kernel threads are really really a very stupid idea.
Last but not the least i have used TI firewire chipset with Basler IEE1394 cameras under Linux and trust me they knock teeth out of Windows Firewire stack.It was good and performed good even with two cameras working in real time image inspections.
I suspect the current stack is going to work atleast similar if not better, though i ll bet on it being better.This is a good sign also, as there is no point in patching things but point is in writing the whole messy thing again.And here we are.... hey wait TTY layer ...any takers? please :-)
But is disk IO fixed on amd64? (Score:2, Informative)
I thought I was going crazy, being on 2.6.18 and discovering that any disk activity slows down the whole system, let alone accesses to any other disk.
Then I found a 19-page thread on the gentoo forums that says I'm not alone and it's not unique to a particular chipset:
http://forums.gentoo.org/viewtopic-t-482731-start
(with evidence that the deadline scheduler may alleviate _some_ of the problem but not the root cause)
And more importantly the kernel bug report here:
http://bugzilla.kernel.org/show_bug.cgi?id=7372 [kernel.org]
So I'm happy people aren't ignoring the problem.
Why can't we have a 2.7 kernel for this stuff?
Re:But is disk IO fixed on amd64? (Score:4, Informative)
(http://slashdot.org/~gmack/journal)
"Because Linus said so" is in fact not a particularly valid answer. Yes, Linus has the right to choose the development structure the kernel is now using, but that doesn't mean it is the best way to do it for everybody. dropping the distinction between "stable" and "development" versions was a sloppy, lazy move that simply pushed the responsibility for maintaining stable released off onto the distributors. That has essentially duplicated the work a hundred-fold, because each distribution must do the work themselves. We're told that this is a "better" arrangement, but it is clearly only better for Linus and the kernel developers, because they get to do less work and be lazy when it comes to making changes: "Want to rip out the allocator and replace it with a largely untested one? Sure, why not! Making sure everything works is the distributors problem, not ours!"
Except that the old system didn't work at all. There were just too many changes to stabilize in any reasonable amount of time and while the debugging was happening the 2.4.x kernel was becoming so badly out of date that people (and distros) tried to back port changes from the 2.5.x tree.
The result was TWO unstable kernel trees and the vendor trees had a tendency to be even worse. The old system would have left those people using SATA in a worse situation then they are in now. Keep in mind that SATA came out after 2.6.x so the drivers would right now be somewhere in the 2.7.x series kernel still waiting to be debugged and the stable maintainers would be forced to try and backport the SATA drivers once again resulting in two unstable kernels
Welcome to slashdot (Score:1)
Slashdotted, use the cache: (Score:2, Informative)
n00b (Score:1, Insightful)
(http://anaconda.cs.pub.ro/~ddvlad)
Re:n00b (Score:5, Funny)
(http://fbjon.deviantart.com/gallery/ | Last Journal: Saturday May 21 2005, @09:56AM)
Linux 3.0.0 (Score:5, Interesting)
Given the hardware around. What features should Linux 3.0.0 have?
Re:Linux 3.0.0 (Score:5, Funny)
(http://some.where.else/)
New wireless stack? Firewire stack? WTF? (Score:1, Insightful)
(http://www.keirstead.org/)
Am I the only one who cringes when someone says they have released a totally new wireless stack in a point release? Does everyone forget the VM switch fiasco already?
I really really regret the switchover to this whole new "accelerated" kernel dev. phase. Since this is just a point release, but has a totally new wireless stack, how do I know that my next OS update won't just break my whole networking setup? Argh.
Re:New wireless stack? Firewire stack? WTF? (Score:5, Insightful)
(http://www.dutchvirtual.nl/ | Last Journal: Friday August 10, @07:04AM)
Crashing soon a kernel near you... (Score:5, Funny)
(http://some.where.else/)
I notice the patches being tested include Reiser 4...suddenly the above warning appears a bit more sinister.
If there isn't going to be a 3.0 release... (Score:1, Offtopic)
(http://www.emacswiki...iki/ChristopherSmith | Last Journal: Wednesday November 07, @07:35AM)
Why not just call the thing "22"? This has the advantage of putting the kernel in the same version neighborhood as GNU/Emacs.
Oh, wait...being too close to GNU/Emacs's version number might bring development to a crawl.
Never mind.
TCP Illinois congestion control. (Score:2)
Illinois Congestion control is helpful with network games as that tends to spike my connection.
Obligatory comment (Score:2, Funny)
eeeh, strike that.
Torrent File (Score:2, Informative)
Re:question on the wireless (Score:1)
Re:question on the wireless (Score:1)
The USB ones can be exceedingly difficult to get to work. The directional antenna on this one really does work for me.
Re:GPL v3 (Score:2, Informative)
(http://www.nemesis-project.org/)
YOU are the troll (Score:2, Informative)
Re:question on the wireless: easy answer (Score:1)
Re:GPL v3 (Score:5, Funny)
- You can't use a CPU of the same manufacturer that has previously executed GPLv3 code in the same room as a computer running a Microsoft operating system. If you have exhausted all the alternatives and you still need to run your GPLv3-infected hardware in the same room, you can negate this by drawing a chalk circle around the machines running the MS software and sprinkling a ground-up printed copy of the GPLv3 over and around them. This is all standard as per Section 5.
- In the case the Richard Stallman's or any of his buddies' computer blows up (for any reason - read the license for full details), he's allowed to walk into your house and take your computer right off your desk and keep it, even if it has never run GPLv3 code!
- If left unattended, disks containing copies of the GPLv3 can become corrupted and mutate into GPVv3 (General Public Virus version 3), which will assimilate all carbon and silicon-based matter with in a 3 mile radius into a demonic, electronic, GPLv3 spreading zombie ox (or it might be a buffalo - that part is unclear).
This is why we should all boycott GPLv3. It is just too evil and virusy.
Wow; Informative? (Score:3, Insightful)
(Last Journal: Friday December 01 2006, @10:51AM)
Re:question on the wireless (Score:4, Informative)
I would recommend using one of the PCMCIA cards instead. Find one that uses the Anthros chipset. I picked up a D-LINK one that was recognised by Dapper Drake. I didn't need to install NDIS Wrapper of Network Manager. I don't remember the model number of the card, but setting it up was as easy as setting it up in Windows except I didn't need to use the setup CD that came with it. Dapper recognised it as an Unknown Wireless. Properties showed it has an Anthros chipset made by D-Link. From there I gave it a static IP on my LAN and plugged in the WEP key after picking my SSID from a list. I added some DNS listings and put in the gateway address of my router and I was online. There have been some difficulty with configuring many of the USB cards. Check the forums and purchase carefully.
Re:Goto considered harmful? (Score:2)
To beginning and average programmers, 'do not use goto' is the best advice to avoid problems.
But kernel hackers are hardly beginning or average programmers. They know very well when they can use goto without problems, and when to avoid it. When used properly, goto will result in better performing, easier to maintain, more elegant, easier to read code.
Re:Goto considered harmful? (Score:2)
Re:Goto considered harmful? (Score:3, Informative)
Re:Goto considered harmful? (Score:3, Insightful)
(http://sheelab.homecreatures.com/)
Yeah, too much of it results in spaghetti code.
But used well, it can compensate for the lack of some things in C. For example, exiting nested loops. In Perl you can say "last NAME", where NAME is the name you gave to the loop, and exit from the outer loop directly.
In C, if you avoid goto what results is a check in every loop to determine whether the inner loop decided that we've got to bail out. This is much uglier than just using goto in the first place, and more error prone too.
Using goto is also handy for error handling: When you're allocating memory, goto allows jumping to the right point in the cleanup process, instead of duplicating bits of code everywhere.
It's my understanding that in kernel programming goto also has advantages in terms of speed over other alternatives.
That's not to say we should use everywhere. But IMO, what to use should be decided on the basis of what is the cleanest and less error prone option -- If goto results in cleaner code, then use it, if it doesn't then don't.
Re:no zfs. no gpl 3 (Score:1)
Re:Goto considered harmful? (Score:2)
(http://volodya-project.sf.net/)
In a nutshell, yes. But there is an important exception - goto's are ok when you jump down in the code (similar to a break in the loop), usually to a piece that frees allocated storage and exits function. In the code you cite, dput_and_out commits information and exits the function. In a way it is kinda a replacement for try {} catch {}, but with multiple try {} clauses.
Re:question on the wireless (Score:3, Informative)
I'd be careful about anything with a Broadcom chip. There is a Broadcom driver for Linux, but it doesn't always work. The alternative is ndiswrapper which can somehow make a Windows driver work under Linux. My experience was that setting up ndiswrapper was not much fun. Not knocking ndiswrapper -- I'm utterly astounded that it works at all
Re:2.7.x kernell? (Score:2)
(http://iki.fi/teknohog/ | Last Journal: Tuesday August 14, @06:49PM)
Re:no zfs. no gpl 3 (Score:2)
(http://jcaif.sourceforge.net/)
Re:no zfs. no gpl 3 (Score:2)
(http://www.solussd.com/)
Re:Goto considered harmful? (Score:2, Insightful)
Personally I use whatever the language gives me wherever I can to make things as computationally short as possible. Sacrificing performance for programmer comfort does not make sense. If the code looks ugly, but it works (and works fast!), that's all it needs to do. For every one programmer you have thousands of users, and the users don't care if the source is pretty or not.
Re:Stop posting these (Score:2)
I, for one, haven't used a distro kernel (discounting LiveCDs) for 4+ years now. I love the discussion on Slashdot whenever a new kernel is released.
Re:Goto considered harmful? (Score:2)
(http://www.telepath.com/~dennison/Ted/TED.html)
State machines have more or less entirely unstructured control to start with. The goto is a natural expression of this. You can avoid the dreaded "goto" in this situation by using a switch statement in a loop, with the cases representing each state. However, this is slower than the goto, and really no easier to read. For an example of this use of goto, see the code generated by lex.
Handling exceptional conditions inline can get quite ugly, and distracts the reader from the code representing the normal execution flow. It can also case a lot of duplicated code when there are several "exceptions" that need to be handled the same way. Instead, goto's can be used to redirect control to a separate "exception handler". The kernel code you linked appears to be an example of this kind of goto.
Re:2.7.x kernell? (Score:2)
Not in the foreseeable future--Linus has decided not to do this. I would have thought you'd heard about this because the decision was made a long time ago and nobody's ever hinted that anyone's mind has changed.
Your question doesn't make sense. 2.6.x is not a "stable branch". You're using old terminology. Linus has decided that 2.6.x is the new development platform. The distros are free to create 2.6.x.y versions that are stable. I would have thought you'd heard about this because the decision was made a long time ago and nobody's ever hinted that anyone's mind has changed.
Linus thought he'd give something new a try. Everyone's working together on the current tree and, if anyone's interested (like, say, a distro), they're free to take a 2.6.x edition and make a 2.6.x.y series of stable kernels. I would have thought you'd heard about this because the decision was made a long time ago and nobody's ever hinted that anyone's mind has changed.
Ian
Re:2.7.x kernell? (Score:2)
Unless I missed something, everything they added is an optional replacement to what was already there. Don't use the new stuff if you don't want it.
Re:Goto considered harmful? (Score:2)
(http://www.linuxlabs.com)
Edsger Dijkstra thought so and Niklaus Wirth is a true believer, I'm not so sure. The unrestrained use of GOTO in fortran and BASIC is certainly very harmful and needs to go away, ESPECIALLY in BASIC where you can (but shouldn't) GOTO from one subroutine to another.
On the other hand, well considered use of goto is quite another mater. The most common GOOD use of goto is as a way to unwind your state in case of an error. This works quite well in a function that must acquire and release several resources in a naturally nested manner. In that case it's quite natural to release the resources one after the other in order at the end of the function. In that case, the cleanest way to write the code is to have error conditions goto the appropriate nesting level at the end. The result CAN be written as nested if statements, but who wants the meat of the function indented 5 levels with multiple repeated compound conditionals in a while loop?
When goto is TOO pedantically avoided, the program logic can become so contorted to fit that it actually becomes unreadable. It can get especially nasty when the same sort of error h