You are not logged in.
I did some playing around and enabled SCHED_DEBUG in both 2.6.23 and 2.6.24 the problem is with the tunables in 2.6.24.
2.6.23 Tunables
kernel.sched_features=21 kernel.sched_batch_wakeup_granularity_ns=25000000 kernel.sched_min_granularity_ns=4000000
2.6.24 Tunables
kernel.sched_features=7 kernel.sched_batch_wakeup_granularity_ns=20000000 kernel.sched_min_granularity_ns=8000000
Setting the 2.6.24 tunables using sysctl to match the 2.6.23 ones solves the issue.
I'm trying to do this. I'm a longtime arch user but it just normally works so well I don't have to mess with anything so forgive my inexperience.
I took the PKGBUILD for 2.6.24 and added:
CONFIG_SCHED_DEBUG=y
to the config file and built the package using makepkg. Then I installed it using pacman -U. I realize I didn't follow a good naming convention for the kernel, but hey I'm just getting started and want to minimize any changes I make.
However, even though I can see that files in /boot were updated, the kconfig26 file there still lists CONFIG_SCHED_DEBUG as not set. There is no way to access these items from sysctl. Being new to this, what have I missed?
strongbad:brett/abs> diff -q kernel26 /var/abs/core/base/kernel26
Files kernel26/PKGBUILD and /var/abs/core/base/kernel26/PKGBUILD differ
Files kernel26/config and /var/abs/core/base/kernel26/config differ
Only in kernel26: kernel26-2.6.24.1-2-i686.pkg.tar.gz
Only in kernel26: linux-2.6.24.tar.bz2
Only in kernel26: patch-2.6.24.1.bz2
Only in kernel26: pkg
Only in kernel26: squashfs3.3.tar.gz
Only in kernel26: src
Only in kernel26: unionfs-2.2.2_for_2.6.24-rc7.diff.gz
strongbad:brett/abs> diff kernel26/PKGBUILD /var/abs/core/base/kernel26/PKGBUILD
66c66
< '4fad3fc6b82717a4295b0ab049bd73e2'
---
> '97c28c42ef2bbf8c9c6464a1e09eaf90'
strongbad:/boot> diff /boot/kconfig26 /home/brett/abs/kernel26/config
4c4
< # Mon Feb 25 21:04:24 2008
---
> # Fri Jan 25 08:01:32 2008
67a68,71
> # CONFIG_CGROUP_DEBUG is not set
> # CONFIG_CGROUP_NS is not set
> # CONFIG_CGROUP_CPUACCT is not set
> # CONFIG_CPUSETS is not set
68a73,75
> # CONFIG_FAIR_USER_SCHED is not set
> # CONFIG_FAIR_CGROUP_SCHED is not set
> # CONFIG_SYSFS_DEPRECATED is not set
964d970
<
1010a1017
> # CONFIG_XEN_BLKDEV_FRONTEND is not set
1689a1697
> # CONFIG_XEN_NETDEV_FRONTEND is not set
2024a2033
> # CONFIG_HVC_XEN is not set
2890a2900
>
3538a3549
> CONFIG_SCHED_DEBUG=y
Last edited by vor_lord (2008-02-26 05:45:04)
Offline
I took the PKGBUILD for 2.6.24 and added:
CONFIG_SCHED_DEBUG=y
to the config file and built the package using makepkg. Then I installed it using pacman -U. I realize I didn't follow a good naming convention for the kernel, but hey I'm just getting started and want to minimize any changes I make.
However, even though I can see that files in /boot were updated, the kconfig26 file there still lists CONFIG_SCHED_DEBUG as not set. There is no way to access these items from sysctl. Being new to this, what have I missed?
Apparently leaving "# CONFIG_SCHED_DEBUG is not set" in the file makes a difference?
I took it out and rebuilt it, works great.
After shazeal's suggestions about tweaking the kernel tunables, my problem is fixed. Thanks very much.
Offline
did anyone notice that this happens only when you are connected to a server?
I dont have any problem with the login screen. Only when when I have to choose a character.
And when Im playing and unplug my internet connection the stutter disappears.
Offline
aparently using zen-sources kernel fixes this
Offline
ok ill try it today
did not work
Last edited by Bestiapeluda (2008-03-17 18:29:24)
Offline
I had the same problem. Like vor_lord says, all you have to do is rebuild kernel26 with ABS. Run "abs" as root. Copy the /var/abs/core/base/kernel26/ directory to somewhere in your normal user's home directory. Open the file "config" in a text editor of choice. Find the line that says:
# CONFIG_SCHED_DEBUG is not set
Replace with:
CONFIG_SCHED_DEBUG=y
Type "makepkg". Wait. Once it's done building, install it as root (or sudo) with pacman -U. As root, add this to /etc/sysctl.conf:
# Scheduler Variables to stop freezes every 15 seconds under wine+WoW
kernel.sched_features=21
kernel.sched_batch_wakeup_granularity_ns=25000000
kernel.sched_min_granularity_ns=4000000
Then reboot into teh newly built kernel. Worked for me
Last edited by Slash (2008-03-17 07:24:09)
Offline
thank you slash it worked !!!!
where can i find info about the options i just changed ?
Offline
Not sure. shazeal is who figured out that those are the options that changed with the scheduler between kernel 2.6.23 and 2.6.24. As to specifically what each one does, I have no idea
I did some playing around and enabled SCHED_DEBUG in both 2.6.23 and 2.6.24 the problem is with the tunables in 2.6.24.
2.6.23 Tunables
kernel.sched_features=21 kernel.sched_batch_wakeup_granularity_ns=25000000 kernel.sched_min_granularity_ns=4000000
2.6.24 Tunables
kernel.sched_features=7 kernel.sched_batch_wakeup_granularity_ns=20000000 kernel.sched_min_granularity_ns=8000000
Setting the 2.6.24 tunables using sysctl to match the 2.6.23 ones solves the issue.
Offline
thank you slash it worked !!!!
where can i find info about the options i just changed ?
This article:
http://www.ibm.com/developerworks/linux/library/l-cfs/
introduces how the CFS scheduler works and explains briefly the runtime tunables. It is quite technical but interesting.
Offline
The problem persists in 2.6.25. Ill have to recompile this one too.
Offline
I had the same problem. Like vor_lord says, all you have to do is rebuild kernel26 with ABS. Run "abs" as root. Copy the /var/abs/core/base/kernel26/ directory to somewhere in your normal user's home directory. Open the file "config" in a text editor of choice. Find the line that says:
# CONFIG_SCHED_DEBUG is not set
Replace with:
CONFIG_SCHED_DEBUG=y
Type "makepkg". Wait. Once it's done building, install it as root (or sudo) with pacman -U. As root, add this to /etc/sysctl.conf:
# Scheduler Variables to stop freezes every 15 seconds under wine+WoW kernel.sched_features=21 kernel.sched_batch_wakeup_granularity_ns=25000000 kernel.sched_min_granularity_ns=4000000
Then reboot into teh newly built kernel. Worked for me
Wow, this worked! The bug is still present with newest kernel, so I thought I'd bump it
One thing, I had to remove md5sum in the PKGBUILD to accept the modified config file though. (Maybe that's common, dunno.)
Last edited by Themaister (2008-07-22 20:16:42)
Offline
I just disabled my idle loop fix, and tried again with standard kernel26 2.6.25.11-1 and it seems i can't reproduce the glitch any longer
Dunno why. Either the newer kernel did the trick or the last patch from Blizzard fixed the problem somehow.
I am going to downgrade my system to a known bad kernel and look if it comes back.
edit:
nope. problem vanished, even with old kernel, nvidia and wine.
Last edited by mockfrog (2008-07-23 20:23:49)
while (! asleep)
++sheep;
Offline
Using Slash's fix, I've copied /var/abs/core/kernel26 to my home directory and replaced "# CONFIG_SCHED_DEBUG is not set" with "CONFIG_SCHED_DEBUG=y". When I run makepkg I get the error "ERROR: One or more files did not pass the validity check!" Any ideas?
Offline
Just comment out the md5sum array or update it after running makepkg -g.
Offline
I edited the PKGBUILD file and commented out the md5 array, worked great. Thanks.
Offline
Is there a step by step guide to fixing the CFS Scheduler. I am a newbie to Arch Linux and don't have a clue as to how to recompile. Overall I really like this Distro, just switched from Ubuntu after using that and linux for the first time 2 months ago and I'm learning tons of stuff, but for the most part when I am reading thread it's explained as if I should already know how to do most of this stuff. Eventually that will happen but there are still those of us who have to crawl before we walk.
Offline
I'll put a package in AUR that replaces kernel26, asmodaous.
Last edited by nesrecar (2008-07-30 07:40:21)
Public Key 0x24685E35 available from any key server you trust.
IRC: ssimon/Nesrecar
Offline
Should work without problems:
http://aur.archlinux.org/packages.php?ID=18724
Install file includes the information for sysctl.conf
Public Key 0x24685E35 available from any key server you trust.
IRC: ssimon/Nesrecar
Offline
There is kernel26-wow, as well: http://aur.archlinux.org/packages.php?ID=17195
One of these should probably be deleted
Offline
How do yo install the knew kernel26? Do you use any programs to do it? I have been reading about ABS is that something:) that I use and if so how? What are the commands for it?
Offline
There is kernel26-wow, as well: http://aur.archlinux.org/packages.php?ID=17195
One of these should probably be deleted
Haha, indeed. Will keep it in AUR until kernel26-wow will be updated.
asmodaous:
1) wget everything in a directory: http://aur.archlinux.org/packages/kerne … -fixedcfs/
2) do a makepkg
3) wait until package is built
4) pacman -U $package
5) follow the instructions which appear
Public Key 0x24685E35 available from any key server you trust.
IRC: ssimon/Nesrecar
Offline
Ok I just tried to update the kernel and I keep getting this messsage.....
[root@patrick-laptop kernel26-wow]# pacman -U kernel26-wow-2.6.25.4-2-i686.pkg.tar.gz
loading package data...
checking dependencies...
error: replacing packages with -A and -U is not supported yet
error: you can replace packages manually using -Rd and -U
error: failed to prepare transaction (conflicting dependencies)
:: kernel26-wow: conflicts with kernel26
Offline
Then remove it.
Please read this also: http://wiki.archlinux.org/index.php/Pac … g_Packages
Last edited by nesrecar (2008-07-31 07:40:47)
Public Key 0x24685E35 available from any key server you trust.
IRC: ssimon/Nesrecar
Offline