Linux - KernelThis forum is for all discussion relating to the Linux kernel.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Hi!
Could someone explain to me if the option Fair group CPU scheduler (FAIR_GROUP_SCHED) in the Linux kernel is something worth enabling on a desktop system, or I shouldn't bother? I'm trying to build a preemptible kernel and want to know whether this option will contribute to that goal.
I just want to build a multimedia low-latency kernel, which would serve me best on my desktop. I mean not only gaming, but also better everyday working. Standard Mandriva kernel has so many options that I don't need, so I'm curious which I can disable, and also which maybe to enable for better system performance.
The best places to look, besides the kernel-oriented forums on other sites more devoted to this issue, would be the source-code itself.
Code:
cd /usr/src/linux
grep -rilw FAIR_GROUP_SCHED *
Remember also that nearly all of the things that contribute to "human-visible poor performance" will be related to I/O and nothing else. I would not expect the kernel-settings that you are now investigating to have a particularly useful effect at all.
If your system was hosting the game, on the other hand, then it might...
Last edited by sundialsvcs; 01-13-2008 at 05:27 PM.
Make sure you have the correct pre-emption model, and timer frequency.
Plenty of people have plenty to say on the web - here is one that seems (very) current.
CFS will be the scheduler at that kernel level. All that should help get you to where you want.
Sundialsvcs, I'm not hosting games, I only play them I'm wondering if enabling Fair group CPU scheduler in my kernel will have any effect on its performance. The command You gave me returns nothing
One more, if I/O is mostly related to performance deterioration, then which scheduler will You recommend? I have three in my kernel, and the default one is CFQ, but I read that Anticipatory is a good idea in some cases.
Syg00, thanks for the link. I did some reading actually about using real-time patches, but also have my doubts. The problem is Mandriva's kernel is...hmm...quite heavily patched - here You have the list of the patches on 2.6.22.12 kernel, which I'm using at the moment. I'm afraid that applying another patch will result in inability to compile it or similar. On the other hand if I would like to use a vanilla kernel (i.e. 2.6.24 which I'm waiting for), then there is a huge probability that something won't work on my system because new kernel will lack some functionality...
Most out-of-tree patches are for "corner" cases - some odd-ball combination of hardware and/or software. Not always, but most.
Stick a vanilla kernel in and see what happens. It's just a kernel - it it doesn't work, go back to a known good one. I'd be surprised if you had problems.
Same for the schedulers - try a couple; I'd be *real* surprised if you are able to determine a difference in normal workloads.
Simple to change at the bootloader.
If I/O is the root cause of your problem, then the CPU scheduler choice probably will not matter.
Likewise, a choice of I/O queueing strategies probably won't matter too much unless there is a substantial I/O request queue developing and a multitude of drives upon which to launch them.
Many computers "simply" use the built-in disk controller that is found on the motherboard. And they "simply" use IDE/EIDE disk controllers because such drives are fast and cheap. There are alternatives.
But the bottom line is this... there are no "knee-jerk solutions" to be found, period. Every real "solution" is a remedy for a specific scenario, useful if and only if that problem-case has been determined to actually exist. Everybody wants a "magic snake oil" solution, but these are all just illusions. You have to determine where your true problem lies, and quantify your findings in some way, before you can meaningfully solve it.
The first thing that I would suggest to you is... can you avoid it? Can you stuff your motherboard with RAM? Can you invest in a faster motherboard (with all the RAM it can hold)?
Then... "when the computer is 'running slow,' is the hard-disk drive light on or off?" If you were to guess as to what the computer might be "waiting on," what might that be?
Do you have the ability to add a second disk-drive, on an entirely different disk-controller channel than the first?
Remember that "slowness" is a humanperception, actually related to "response time." Slowness, in human terms, is measured in "tens or hundreds of milliseconds," which is an eternity to any CPU.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.