Ensuring That 2.6 Will Perform Better Than 2.4 45
Jeremy Andrews writes "Con Kolivas, a practicing doctor in Australia, has written a benchmarking tool called ConTest which has proven to be tremendously useful to kernel developers, having been designed to compare the performance of different versions of the Linux kernel. In this interview on KernelTrap he explains the project, noting that "a good 2.5 kernel (and that's not all of them) feels faster than 2.4 in most ways and this bodes well for 2.6." Also discussed is his high performance -ck patchsets, adding performance to the 2.4 stable kernel with the O(1) scheduler, kernel preemption, low latency, compressed caching and more..."
Beta testing 2.5! (Score:5, Informative)
So download away and start testing! [kernel.org]
Re:Beta testing 2.5! (Score:3, Insightful)
But according to the list, IDE is better now, and the 2.5 kernel is ready for wider testing.
Which brings up the key question... What are the other system requirements for running the 2.5 kernel? Back in the days of transition out of 2.2, there was a fairly decent list: this compiler, that modtools, etc. I know the new native Posix threads will require glibc 2.3, but is that merged, and what other requirements are there?
A brief kernel 2.5 HowTo by someone in the know would be welcome, about now. It would help others of us begin testing.
Re:Beta testing 2.5! (Score:4, Informative)
I couldn't post a direct copy/paste from the file, because apparently it contained too many "junk" characters and wouldn't pass the lameness filter. But if you download 2.5.43, you could just open up the file yourself. :)
I wait anxiously to test the new(er) 2.5 kernel; 2.5.39 compiled and runs for me, but I get a mini-oops on startup (haven't had time to report it yet. :/ ). 2.5.40 wouldn't compile, I missed .41, .42 had a flurry of "WAIT! IT'S STILL BROKEN!" messages on LKML, and I have yet to grab .43 at home (I've got it at work, which does me no good at home, see. :) ).
As soon as I get a chance, I intend to start hammering at 2.5.43 and file a bug report for any anomale I see.
Re:Beta testing 2.5! (Score:1)
I'm planning to start testing 2.5 once it's in feature freeze.
Re:Beta testing 2.5! (Score:3, Insightful)
Re:Beta testing 2.5! (Score:1)
Because I'm only able to install it on a production machine, I can't totally throw caution to the wind.
Re:Beta testing 2.5! (Score:2)
Re:Beta testing 2.5! (Score:1)
Being a poor college student, my production machine isn't that mission critical (it's just a workstation), but I lack a testbed. Hopefully, on obtaining sufficient dough to upgrade my creaky Duron 650, I'll have a decent testing machine.
Re:Beta testing 2.5! (Score:2, Funny)
Re:Beta testing 2.5! (Score:1)
If I could mod you, Insightful, my dear AC, I most definitely would.
Re:Beta testing 2.5! (Score:1)
for most of us, surely, the "creaky" Duron is the high-end workstation. and there are infinite numbers of Pentium133 age machines to be found in skips in cities to use for testing and learning. hell, in Britain, a Pentium-II 266 with 3GB HDD, 128MB SDRAM, AGP Matrox Millenium video, 3C920 netcard, sound card, CD-ROM, USB, keyboard and mouse is only 60 UKPounds+VAT+15delivery; throw a monitor out of a skip onto that or pay 35UKPounds for a 17" one and yr sorted
Re:Beta testing 2.5! (Score:1)
Re:Beta testing 2.5! (Score:1, Interesting)
The result?
No response whatsoever. I guess they don't want to hear that there are actually bugs in their shiny new kernel.
Aside from that after tweaking I got it to work, and it did outperform 2.4.18 in everything we cared about. Specifically the IDE system, it appeared much more efficient at scattered disk reads by multiple threads.
Re:Beta testing 2.5! (Score:3, Informative)
Cooperation for a better OS, etc.. ;)
Re:Beta testing 2.5! (Score:3, Interesting)
Re:Beta testing 2.5! (Score:5, Informative)
There's also talk of replacing LVM1 with LVM2, and supporting various other logical disk managers which will make it more desireable on the enterprise front.
Re:Beta testing 2.5! (Score:2, Interesting)
Re:Beta testing 2.5! (Score:1)
Re:Beta testing 2.5! (Score:1)
Listed there are the major changes since the 2.4 fork.
badhack
Re:Beta testing 2.5! (Score:2)
Re:Beta testing 2.5! (Score:1)
2.4 IS mature in the regard that it provides all the functions that a kernel should. The only thing 2.6 can do is reimplement what exists in a better way, or provide new tech:
badhack
Re:Beta testing 2.5! (Score:3, Insightful)
If you end up staying on 2.4.x for most of your work (as you should) for the forseable future, that's great, but at least you'll have helped the effort.
Re:Beta testing 2.5! (Score:2)
I'm a geek type with a little(very little) experience programming, and I'm competent with linux... what/how exactly could I help beta test a kernel? what does it entail? I'm guessing it's more than just compiling it on my system and going "ok, it worked!" Perhaps someone can give me some pointers so "people like me" can help too.
Re:Beta testing 2.5! (Score:3, Informative)
See the file REPORTING-BUGS in the Linux kernel source directory for more information.
compressed caching...... (Score:5, Informative)
If memory transfer and access speed is causing a bottleneck then well designed compressed caching can give a good performance increase by decompressing into the cpu cache.
Streems with small blocks would probably give the best performance increases.
Re:compressed caching...... (Score:1)
Re:compressed caching...... (Score:3, Insightful)
SMP, less page faults, synchronisation requires less synchronisation etc....
GPU's and peripheral devices, the obvious bus speed and latency, as well as performance gains that GPU's can get using RLE.
Networking, never ever design a protocol that sends large amounts of uncompressed data.
Types of RLE can also increase performance in binary tree searches, e.g. in database indices, or filing systems.
Do they include use of compression in design pattern and refactoring books?
Re:compressed caching...... (Score:2, Informative)
And regarding network protocols: It depends on which level you are building. On the application level a simple and slightly verbose protocol is nice from a debugging and future safe perspective. (Think HTTP.) When designing protocols for the link level it's not as much use though. (Most likely you'll just simulate that in any case. "Hot debugging" isn't all that much fun there.)
Good stuff (Score:5, Interesting)
general purpose kernel (Score:2, Insightful)
You could even stat the kernel and do a rebuild with what the stats say is best for you usage pattern.
Re:general purpose kernel (Score:3, Insightful)
Ideally the kernel would be self-tuning based on usage patterns rather than statically built for one specific pattern.
Re:general purpose kernel (Score:1)
My preferance would be to ship a does everything desktop tuned kernel, if you want to run a server then build a kernel to meet you server requirements (if you can't do that then you shouldn't be running a server)
Self-tuning is the best way, but generating the stats will slow things down a bit, at least on an x86 arch.
Re:general purpose kernel (Score:2)
Can anyone provide a reference, as this seems like it could be quite useful.
a good 2.5 kernel? (Score:2, Interesting)
Is it that some versions of the Kernel are better or worse than others (e.g 2.5.2 is better than 2.5.3)?
Or does it mean that some distros of Linux (even with the same kernel version) are better or worse than others depending on how the kernel was patched, built and configured by the supplier?
Re:a good 2.5 kernel? (Score:2, Informative)
Re:a good 2.5 kernel? (Score:5, Informative)
The 2.5.x set of kernels is the development branch (the key being the odd minor number). It's where major feature changes are taking place, and new ideas are tried out. As you'd expect, things don't always work at the first (or fifth) go, so not every 2.5.x kernel is going to be 'good'.
'Good' probably depends a whole lot on how well the bits you need for your exact machine configuration are currently working, so your good kernel may be someone elses nightmare.
The lesson to all this is 'don't use a development kernel if your not ready for breakage'. That means back up all your file systems and don't even think of putting one on a production machine. But if you have some new widget that isn't supported in the stable kernel series (2.4.x currently), you might want to see how the development series is shaping up and even offer some feedback so that the next stable series really is.
Re:a good 2.5 kernel? (Score:1, Informative)
Multitalented (Score:5, Funny)
Let me guess, he cooks too. Ladies this is your man.
Re:Multitalented (Score:1)
Re:Multitalented (Score:1)
Eg, he's already taken, sorry ladies
C(++) is great (Score:1)
> the code it made a lot of sense to me and I could sort out the problems - mind you I can't program in C at all.
> Look at the code for long enough and you start understanding what it is doing.
C is great! Even doctors can read it and fix the bugs!