Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

Ubuntu is removing -server flavour, as specified on release notes of 12.04:

As with Beta-1, the Beta-2 kernel no longer carries separate amd64 -server and -generic kernel flavors. These have been merged into a single -generic kernel flavor to help reduce the maintenance burden over the life of this LTS release.

The differences between -generic and -server seems to be related to preempting, the timer interrupt and the i/o scheduler, as stated on: https://help.ubuntu.com/10.10/serverguide/C/preparing-to-install.html#intro-kernel-diffs

I'm asking for technical specs.

  1. So, what happens now?
  2. Will the server edition run the desktop kernel with no performance penalty?
  3. Is this justified somehow?
  4. What happens with that differences?
  5. Can they be changed in userspace?
  6. There are not appllicable as of 12.04?
  7. If the answer is yes, this change will involve performance penalty?

All of them are questions that can be answered. I'm asking for a specific change on a package, not anything else.

share|improve this question
add comment

3 Answers

Your "why" question is answered within the quote you were providing - because it is easier to maintain this way. The kernel functionality is parametrized quite well, you can change things like the scheduler at run-time, so there is no pressing needs for different defaults to be compiled in.

For the exact reasons and the discussion of details you would have to ask on the Ubuntu KernelTeam mailing list - see the informational KernelTeam Wiki page for contact information.

share|improve this answer
add comment

What happens now is that there is only one kernel for both server and desktop. The IO scheduler can be changed at runtime if you want, but CFQ is the most feature complete and actively maintained scheduler, so it is a good default. Which one you use makes little difference under most workloads. The server kernel used to disable even voluntary kernel preemption because theoretically it could give slightly better throughput, but I am not aware of any performance measurements that actually show any benefit there, so in practice, servers will not be affected by moving to the desktop premption model. The kernel is also tickless ( CONFIG_NO_HZ ), meaning that it schedules timer interrupts only when needed based on currently running application timers rather than at a fixed interval, and I believe this has been the case for several releases now, despite what the server guide says.

TL;DR: There was no benefit to maintaining another kernel for servers, so the practice has stopped.

share|improve this answer
    
The I/O scheduler does indeed make a difference especially for virtualization workloads. Take a look here: publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/topic/liaat/…, it concludes "overall, the figure shows that the Deadline I/O scheduler outperforms the CFQ I/O scheduler, especially in multi-threaded scenarios". –  syneticon-dj Jun 25 '12 at 19:37
add comment

As you noticed in the release announcements, the generic and server kernel flavors were merged for the 12.04 release in an effort to reduce the maintenance burden over the life of the LTS. The two kernel flavors actually only differed with regards to 2 major kernel config options: the default I/O scheduler and the preemption model.

This was discussed in detail on the Ubuntu Kernel Team mailing list

As noted in that thread, the default I/O scheduler changed from "deadline" to "cfq". However, anyone wanting to remain with the Deadline I/O scheduler could do so at boot time by setting elevator=deadline.

The preemption model changed from CONFIG_PREEMPT_NONE to CONFIG_PREEMPT_VOLUNTARY. At this time, I unfortunately do not have any performance benchmarks on hand to point you at. Hope this helps some. Thanks.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.