I have snapback doing backups every hour which makes my desktopit's over-hyped unless you're doing a lot of Konsole/Terminal stuff concurrently
"stutter" or "pause", and snapback uses ttys (I would think). So I'm thinking
this might help.
I have snapback doing backups every hour which makes my desktopit's over-hyped unless you're doing a lot of Konsole/Terminal stuff concurrently

Code: Select all
# cat /root/cgroups-prepare.sh
#!/bin/sh
mkdir /dev/cgroup -m 0755
mkdir /dev/cgroup/cpu -m 0755
mount cgroupCpu -t cgroup -o cpu,release_agent="/root/cgroups-wipe.sh" /dev/cgroup/cpu
mkdir -m 0777 /dev/cgroup/cpu/userCode: Select all
# cat /root/cgroups-wipe.sh
#!/bin/sh
for cgroup in $*; do
rmdir /dev/cgroup/cpu/$cgroup;
doneCode: Select all
# cgroups magic. Doing what does 200 lines miracle patch.
if [[ "$-" =~ "i" ]] && [ -d /dev/cgroup/cpu/user ] && [ -w /dev/cgroup/cpu/user ]; then
mkdir -m 0700 /dev/cgroup/cpu/user/$$
echo $$ > /dev/cgroup/cpu/user/$$/tasks
echo "1" > /dev/cgroup/cpu/user/$$/notify_on_release
fi


Here is a backport for 2.6.35.8:Fitzcarraldo wrote:Thank you for putting in all that effort to benchmark the different kernels and userspace approaches, Dont Panic. Very interesting and helpful.
I notice from LKML that the patch is still evolving. The latest iteration, Version 4, has moved away from using task groups per TTY to using task groups per session (http://lkml.org/lkml/2010/11/20/91). I think this new approach could be more relevant to 'normal' desktop users than the per-TTY approach.

yeah,genstorm wrote:Am I the only one experiencing drawbacks of that patch? Something as simple as emerge calculating dependencies (utilizing only one of my two cores) brings sound output (plain ALSA here) with Amarok2 to its knees (stuttering playback).
I am using the version from Gentoo patchset v4 (the one in masked gentoo-sources-2.6.36-r2) against tuxonice-sources-2.6.36 running on a decent enough dual-core system (X200s). My system might be exotic in that it is equipped with a Seagate Momentus XT 500GB HDD including 4GB SLC SSD cache, with the portage tree quite likely residing inside the cache due to its regular use (and emerge --sync really is pretty fast).

this might be more related togenstorm wrote:No issues with mouse yet. However, I can also reproduce the problem with kaffeine - output stops reliably when firing off an 'emerge -uvaDN world'.
Code: Select all
CONFIG_IOSCHED_NOOP=y
# CONFIG_IOSCHED_DEADLINE is not set
CONFIG_IOSCHED_CFQ=y
CONFIG_CFQ_GROUP_IOSCHED=y
CONFIG_DEFAULT_IOSCHED="cfq"
I have had these problems too. :/genstorm wrote:Btw, mouse and system just completely hung for several seconds during kmplayer playing an Xvid movie until the 'emerge -uvaDN world' had finished. I definitely didn't have those issues without the patch.
I am operating a fairly basic system without fancy stuff, no crypt, only regular ext4 partitions +mounting options (only noatime), as for IOSCHED:EDIT: Going to try out the effect of CONFIG_IO_DELAY_NONE=yCode: Select all
CONFIG_IOSCHED_NOOP=y # CONFIG_IOSCHED_DEADLINE is not set CONFIG_IOSCHED_CFQ=y CONFIG_CFQ_GROUP_IOSCHED=y CONFIG_DEFAULT_IOSCHED="cfq"

Are you using the in-kernel patch, or the userspace implementation? In the latter case, how do you start your X? Did you assure it gets its own cgroup?genstorm wrote:Am I the only one experiencing drawbacks of that patch? Something as simple as emerge calculating dependencies (utilizing only one of my two cores) brings sound output (plain ALSA here) with Amarok2 to its knees (stuttering playback).
I am using the version from Gentoo patchset v4 (the one in masked gentoo-sources-2.6.36-r2) against tuxonice-sources-2.6.36 running on a decent enough dual-core system (X200s).

From what I've read on the kernel mailing lists earlier, the whole autogroup patch depends on another one, which got into .37 development. So unless you have a patched version of .36, it won't work (won't patch).Dont Panic wrote: Has anybody tried this version yet against a 2.6.36 or 2.6.35 kernel?

Not only the kernel patch. I have changed my "alternative" to a script to start the cgroups stuff manually instead of automatically starting it with /etc/conf.d/local. The reason is, that I had a BSOD with a Kernel oops (something about a failed page request), and after that VMWare WS didn't start any more. It didn't print an error, write something into a log, nothing. It simply didn't do anything anymore. After I took the cgroups stuff out of autostart and rebooted, it worked again. And this was the weirdest BSOD I've ever seen. After five seconds or so, my mouse cursor reappeared, and when I clicked the left mouse button the BSOD disappeared and my desktop was back, like nothing happened. Strange. I first thought it had to do with the ITCO watchdog in this laptop, but both watchdog and hangcheck would have rebooted the machine, wouldn't they?gringo wrote:i noticed several problems with v4 of this patch ( processes get stuck and 2 kernel panics, one of them maybe unrelated), v3 works actually way more better for me.The kernel patch has run into some issues.
cheers
Well, I'm running a patched kernel right now and going through python-updater rebuilding 100 packages with -j10 emerge option and -j4 in MAKEOPTS and the only slight glithces I've noticed so far (93 of 100 complete now) were when the loadavg went up togenstorm wrote:In-kernel ofc - but not anymore.
Code: Select all
13.2, 9.5, 7.0
For a live cd, it's running OK considering the little time I've used it. No real opinion pro or con as of yet. Guess the next kernel I compile on Gentoo ~Arch, I'll give this stuff a try.CONFIG_HAVE_GENERIC_HARDIRQS=yCONFIG_CGROUPS=y
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
CONFIG_CGROUP_NS=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_RESOURCE_COUNTERS=y
CONFIG_CGROUP_MEM_RES_CTLR=y
# CONFIG_CGROUP_MEM_RES_CTLR_SWAP is not set
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_RT_GROUP_SCHED=y
CONFIG_BLK_CGROUP=y
# CONFIG_DEBUG_BLK_CGROUP is not set
#
# IRQ subsystemCONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
CONFIG_CGROUP_NS=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_RESOURCE_COUNTERS=y
CONFIG_CGROUP_MEM_RES_CTLR=y
# CONFIG_CGROUP_MEM_RES_CTLR_SWAP is not set
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_RT_GROUP_SCHED=y
CONFIG_BLK_CGROUP=y
# CONFIG_DEBUG_BLK_CGROUP is not set
#
#
# RCU Subsystem
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
CONFIG_CGROUP_NS=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=yCONFIG_NET_CLS_CGROUP=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_RESOURCE_COUNTERS=y
CONFIG_CGROUP_MEM_RES_CTLR=y
# CONFIG_CGROUP_MEM_RES_CTLR_SWAP is not set
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_RT_GROUP_SCHED=y
CONFIG_BLK_CGROUP=y
# CONFIG_DEBUG_BLK_CGROUP is not set
#
# Classification
#
CONFIG_NET_CLS_CGROUP=y
