# 2.6 - which one to use

## Jesore

At work I'll have to update some debian servers to decent kernels, as we need the new features (like acls for our samba) and I was thinking to go straight to a 2.6 kernel. Yeah, I know, not very debian style, but my heart is definitely on the gentoo side.

What I'd like to know is which kernel I should use, the vanilla or the mm-sources. Before 2.6 was stable, the mm-sources were more advanced, stable ... how is it now as most mm patches went in at 2.6.1? Is there still a definitive advantage for mm? 

I personally can't test on my system as I use a ataraid card (but a 3ware is no. 1 on my wishlist finally) so some server expericene would be nice. 

Before I forget - any other patchsets I didn't mention are in the game as well. Just mind that it's for server use. 

Jesore

----------

## pestilence

The love sources  :Smile:  go for them they are compilation of patches...very fast and stable i might say...

I am now compiling the 2.6.4 version of them.

----------

## Jesore

No insult - but I've read the love threads on a regular basis. They might be really great for a desktop system where I can experiment a lot, but kernels that don't even compile sometimes are hardly server ready. These are critical systems, the only reason I'm not going straight to vanilla is that I've head so many good things about mm-sources.

edit* I've read through the love relnotes - the only interesting thing besides mm for me would be pax, and that I can apply by hand.

----------

## _Nomad_

I for one would suggest that you stick to the 2.4 kernelbransch the 2.6 are really new and although there's already an 2.6.4-rc1 out everything has gone really fast (2.6.0 was released around christmas). I'm not really sure that everything has been tested properly...

However, if you really want the 2.6 I would stick to the vanilla kernel. mm is mostly updates for desktop usage anyway...

----------

## Tamerz

 *_Nomad_ wrote:*   

> I for one would suggest that you stick to the 2.4 kernelbransch the 2.6 are really new and although there's already an 2.6.4-rc1 out everything has gone really fast (2.6.0 was released around christmas). I'm not really sure that everything has been tested properly...

 

I agree for servers.  For desktops 2.6 is great though.

----------

## Jesore

In 2.4 I'd have to patch some things in that are already there in 2.6. Besides that - I really want to get my hands on 2.6. Maybe the less important server first - the one for internal use. 

Are you speaking generally against 2.6 (simply too new) or did some real problems occur that I'm nor aware of?

Jesore

----------

## sunil

Though 2.6 has many patches included, i would stick to the 2.4 series.

You said, you want acl, and afaik your only fs choice is between ext3 and xfs; reiser4 doesn't look reliable enough at the moment, jfs doesn't seem too support it at all.

I've had xfs on 2.4, and about two weeks after migrating to 2.6+nptl, i experienced errors during paging immediately followed by data loss due to a kernel oops in xfs driver. I only used xfs for performance reason, so it was no problem to create reiserfs and use the backup (it must be at least to weeks, because the last 2.4 backup has been replaced by a 2.6 backup during rotation).

For now, reiserfs and ext3 seem stable to me, but i dislike ext3 using more cpu ressources during file creation and less throughput on ide drives (last apparently due to journaling and the architecture of ide/ata).

I also have the opinion, that 2.6 became less responsive and performant from 2.6.2 on, but that's a subjective reason. Some people told me they felt the same, and that using mm-sources compensated the performance loss slightly/not completely, but i've also heard indifferent opinions on 2.6 performance changes.

Due to other issues (e.g. alsa), i have the feeling, that 2.6. progresses to fast atm and is nearly worth a 2.6.0-test or even 2.5.x related to the amount of changes taking place. And if i remember correctly, Linus recently wrote on kml that people should calm down a bit and concentrate on fixes rather than adding new features.

I also think the design of 2.6 series is overwelming and sounds promising, but for a production system i would wait a bit until the branch has become mature and proven itself to be reliable.

----------

## steel300

The 2.6 branch is very stable. It has optimizations for all types of computers. The O(1) scheduler is great for any type of computer. If you are running an SMP machine, then the mm series can't be beat. Love-sources uses a new scheduler, which is still O(1), that is the work of Nick Piggin. It has better support for SMT systems than the 2.4 series could ever dream of. 

There is no reason that the 2.6 series will be less stable or more slow than the 2.4 series, except for the fact that you have configured it wrong. I use love-sources on many production servers, and it is both fast and stable. 

You have the choice of I/O schedulers with any of the 2.6 kernels. You can plug in which ever one you want to make your server faster. If you want interactivity (a terminal server, web server, etc.), then go with CFQ. If you are doing databases or anything else that requires heavy I/O, go with AS or Deadline. 

Some will argue that 2.4 is more suited for servers becuase it has been around longer. That argument is wrong. There expereinces with the 2.6 kernels may have been bad, but that is not the fault of the kernel. That is a bad configuration job.

The 2.6's also have nptl support. This boosts thread performance by 400%. If you are running a computer which will be performing many tasks, then NPTL can only help you. Even if you're running only a few tasks, NPTL is a very good thing. 

There really isn't a reason not to switch to the 2.6 series. They have much better I/O performance, better scalability, and better interactivity. You may not think that interactivity is good for servers, but you are wrong. If ou are serving web pages, then the average transfer time to all users will be much less with the 2.6 series. Interactivity isn't just for desktops. That argument is a product of FUD spouted by people who really don't what they are talking about. They are parrots, only repeating what they've heard.

----------

## sunil

 *steel300 wrote:*   

> The 2.6 branch is very stable. It has optimizations for all types of computers. The O(1) scheduler is great for any type 
> 
> 

 

Yes, that is one point of the impressing changes on the kernels architecture. Reduced complexity in the scheduler combined with preemption indeed promises better responsability even under heavy load. Also, the tcp/ip stack seems to be more performant under such conditions. Additionally memory management has been improved.

 *steel300 wrote:*   

> 
> 
> There is no reason that the 2.6 series will be less stable or more slow than the 2.4 series, except for the fact that you have configured it wrong. I use love-sources on many production servers, and it is both fast and stable.
> 
> 

 

For performance issues this may be true; i'd be glad if you posted some links to hints about how to configure it right (maybe there's more than preempt, processor specific optimization, mtrr and up apic support on uniprocessor/smp support etc. on smp systems to select). However, xfs support was rock solid on 2.4 series, and for migration to a new major kernel version i consider access to existing filesystems as a requirement (i.e. no configuration option). Kernel oopses should not happen, imho.

 *steel300 wrote:*   

> 
> 
> You have the choice of I/O schedulers with any of the 2.6 kernels.
> 
> 

 

Yes, i read an article about pluggable i/o schedulers somewhere in acm digital library, i think it was in linux journal.

 *steel300 wrote:*   

> 
> 
> Some will argue that 2.4 is more suited for servers becuase it has been around longer. That argument is wrong. There expereinces with the 2.6 kernels may have been bad, but that is not the fault of the kernel. That is a bad configuration job.
> 
> 

 

Well, i'm still of that opinion, but maybe that will shift in near future.  

 *steel300 wrote:*   

> 
> 
> The 2.6's also have nptl support. This boosts thread performance by 400%. If you are running a computer which will be performing many tasks, then NPTL can only help you. Even if you're running only a few tasks, NPTL is a very good thing.
> 
> 

 

nptl indeed has better scalibility and eliminates some of linuxthreads limitations, e.g. the 8192 threads limit, having sys_clone() and futexes, etc.

However, i'm a bit conservative and stress more on reliability, data consitence and security then on performance. If stressing on performance, this might be reliable performace.  :Wink: 

 *steel300 wrote:*   

> 
> 
> That argument is a product of FUD spouted by people who really don't what they are talking about. They are parrots, only repeating what they've heard.

 

My first questions to that people would be: No. What do you mean by "not interactive"? What does a web server do?

Maybe they get it themselves that webservers repeatedly wait for http-requests and respond to each request. If they don't you can still try teaching new words to the parrot.   :Wink: 

----------

## Jesore

Well thanks for all of your responses. 

I couldn't reply earlier as I was drowning in work. I did the kernel updates with a 2.4.25-grsec and chose to wait some more before the 2.6 upgrade. The servers aren't extremely under stress so the performance gain isn't crucial (the most load is when we install new desktops over the net - the images are on one of the servers. That happenes ca. every two weeks). A data loss would be far more of a problem so I'll wait. Besides that I'm relatively new to this job and I don't want to start out by destroying things. 

Jesore

----------

