Mailinglist Archive: opensuse-features (226 mails)

< Previous Next >
[openFATE 305694] Separate Desktop / Server Kernels
  • From: fate_noreply@xxxxxxx
  • Date: Mon, 23 Feb 2009 21:06:07 +0100 (CET)
  • Message-id: <feature-305694-27@xxxxxxxxxxxxxx>
Feature changed by: Stephan Kleine (bitshuffler)
Feature #305694, revision 27
Title: Separate Desktop / Server Kernels

openSUSE-11.2: New
Requester: Important

Requested by: Dean Hilkewich (deanjo13)

It seems to me that the current default kernels are somewhat hurting
openSUSE's performance perception. Current kernel configs are OK but
are not very well suited for desktop usage. In the future I would like
to see a kernel package that is optimized for desktop usage. Current
timer settings and no preemption really (sometimes drastically) hurts
openGL performance and applications such as wine and causes alot of
issues such as audio studdering. It would be nice to see a separate
desktop performance kernel package with options such as Preemption
model set to Preemptable Kenel (low-latency Desktop) and Timer
Frequency Set to 1000 Hz, HPET support, Tickless System, disable
optimize for size, disable Control Group support and disable Group CPU
scheduler. You could also disable items and modules that are extremely
rare in a desktop environment such as ATM support, Infiniband etc etc
as these are not typically used in a desktop scenario which would be a
large majority of openSUSE users. Further performance enhancements
would also be done through out the system aimed at desktop use as well
such as disabling barriers (even making it a simple checkmark option in
the partitioner). Such optimizations for desktop usage can overcome
openSUSE's reputation as being slower then the other mainstream
distro's. The kernel settings alone can make up to a 30-40% increase in
framerates in wine games for example and can cure alot of hiccups in
multimedia apps.

#1: Bernhard Friedreich (bernhard1234) (2009-01-18 15:25:11)
wow.. I didn't know about that facts.. I vote for that one! (running
both a server and multiple notebooks on openSUSE)

#2: Jan Engelhardt (jengelh) (2009-01-19 09:48:49)
So why do not you use the RT kernel if your problems are that bad?
Also, HPET and tickless is already enabled if you have not noticed. If
you suggest disabling Optimize For Size, then I disclaim that you know
all of the facts. A smaller kernel results in less instructions to
fetch and run, and as such, less execution time to complete a given
task. Unless you have specific numbers that an unloaded ATM module
slows down your daily operations, it is not going to go away just
because you think it is responsible for speed issues. Because as I read
the source, it seems to me that it merely introduces one test and
branch to the IPv4 ARP code, and that is just so small it is ridiculous
to debate about. I do however, would want to see the kernel package
being split up so as to have drivers that "probably are not" desktop-
related in this decade, like ATM, in a separate installable package.

#3: Dean Hilkewich (deanjo13) (2009-01-21 06:12:22)
Yes I realize that HPET and tickless are already in there by default.
I'm just pointing out settings that do make a difference for desktop
use. Optimize for Size (=Os) can in theory reduce the executable size
and can in some cases have small increases due to better cache usage,
however in real life practice on a desktop you will find that disabling
it (-02) does give a real life performance gain. Feel free to benchmark
on your own as well (BTW Grub starts looking pretty squished with tones
of kernels installed). These settings have been tested tried and true
in the mailing lists, forums, etc. The RT kernel still defaults to a
250 Hz timer, Control Group support and Group CPU. All of these hurt
multimedia and GL app performance. Easiest way of testing this for
yourself is put a demanding game in wine such as command and conquer 3
in wine and play it or try to play high def content on a system with
marginal system specs to do so. They make all the world of difference.
The reason I recommended removing ATM, Infniband etc etc etc for the
same reasons that you would like to see a separate kernel package for
little if ever used anymore modules.
I'm sure if you went through opensuse-help's own mailing list you can
see these configs mentioned more then a few times and the results they
give users afterwards.

#4: Dmitry Mittov (michael_knight) (2009-01-22 08:40:14)
How it will have impact to installation procces? Does user have to
choose kernel manually. Or it will be done automatically with help of
some criteria?

#7: Dean Hilkewich (deanjo13) (2009-01-23 02:26:22) (reply to #4)
It doesn't have to impact the installation process at all. What is
required to do this is just another .config kernel config file added to
the kernel src RPM and when that is built you would have a desktop
kernel. The process is really no different then the current kernel
choices we have now (rt, pae, default, xen etc). It doesn't even have
to really be hosted on the installation DVD/CD medium at all but could
be simply one of those extra packages just found on the full OSS
No separate installation images are needed but could be made if product
creator was massaged a bit more into a end user friendly app or once
susestudio goes live one could easily spin a custom dvd for their own
use. The key is to get these alternative kernel packages on the
official OSS repo.

#5: Vasiliy Astanin (madcad) (2009-01-22 17:49:21)
May be we should separate not only kernel, but entire images? openSUSE-
Desktop.iso contains KDE, Gnome and a lot of userspace software, but no
any Apaches, tomcat, or so. + it contains kernel-desktop openSUSE-
Server.iso contains no heavy DE, no OpenOffice, no any other large
desktop packages - only some extremely light WM - like icewm, but with
all server features. + it contains kernel-default, -server, or similar
Such splitted images will be much less in size, so maybe server will
even fit on CD. This way we'll get something similar to SLES/SLED, but
it may be a good tactics ;)

#6: Todd R (theblackcat) (2009-01-22 22:19:33)
Perhaps when someone is installing their system they can have a
selection of a few different pre-configured systems, such as
Desktop/Laptop and Server, and then an "Other" section that includes
Netbook, Text-only Desktop/Laptop, Text-only Server, Lightweight
Desktop/Laptop, Lightweight Server, Real-time System, Workstation, and
perhaps a few more advanced configurations that only advanced users
would want. Alternatively, you could ask when someone is first
installing the system "Are you planning to use this computer primarily
as a:" and they can pick either "Desktop/Laptop" or Server.
For established setups, having kernel-desktop and kernel-server
versions available in the software management could take care of
switching, but perhaps a generic Kernel Setup YaST module that allows
you to pick what sorts of things you want to serve as well as allowing
you to switch to the server kernel (or back) would help.

+ #8: Stephan Kleine (bitshuffler) (2009-02-23 21:05:37)
+ Apparently doing stuff like enabling PREEMPT and setting HZ to 1000
+ would not only result in a snappier system but also e.g. solve the
+ glitch problems with pulse audio:
+ (considering the amount of bitching about PA that alone should be a
+ good enough reason to do it ;D)
+ Even the kernel devs themself say, if I'm not completely mistaken, that
+ the one kernel for all approach isn't a good idea and that it makes
+ sense to have different flavors for -desktop & -server with their
+ settings tuned for the usecase.

openSUSE Feature:

< Previous Next >
List Navigation
This Thread