CPU frequency scaling

It did seem a bit odd that my fancy new 2.8GHz processor had troubles to seemlessly decode simple videos from youtube. The flash plugin process seemed to frequently change CPU and therefor hang every second or so. After investigating a bit i found the following:

Completely Fair Scheduler (task scheduler) introduced in 2.6.23 seems to be causing problems (I think it’s the scheduler??) on trying to set the up_threshold with ondemand. Let’s say you have 2 or more processors and a task that is running that wants 100% of a processor. The scheduler is now so “fair” it bounces the task from one CPU to the next which causes each CPU to never get above the default ondemand up_threshold of 80%. This causes the ondemand governor to never let any processor get to it’s full frequency and complete the task faster. Lowering the up_threshold to something like 20% fixes it. The task seems to stay on one processor long enough to get it above 20%. Then when it bounces back it’s already scaled up from the last bounce. This keeps it up until the process is complete for all cores.

The solution is to set the “cpufreq governor” to ondemand and adjust the up_threshold to a lower value to cause it to behave more nervously. In the apropriate startup script (/etc/init.d/ondemand in my case) set something like:

	for CPUFREQ in /sys/devices/system/cpu/cpu*/cpufreq
	do
		[ -d $CPUFREQ ] || continue
		echo -n ondemand > $CPUFREQ/scaling_governor
		echo -n 20 > $CPUFREQ/ondemand/up_threshold
	done
Posted in geek | Leave a comment

Bit of Nostalgy

I recently discovered the code of my last third years java class exercise …study project

Posted in geek | Leave a comment

Cisco AXP less annoying

Developping applications on top of Ciscos AXP router can be extremely annoying. The router reboots after each install or uninstall of a package, the process of building the signed installation packages is cumbersome, the packages need afterwards to be pushed to an ftp server, … When debugging a Linux application that does not use the Cisco APIs the installation process can easily eat up most of your time.

Continue reading

Posted in code | Leave a comment

ICT Lyon 2008

Working for a small EU financed project (i will not tell which one) i was sent to the 2008 ICT in Lyon last week to represent the project. Even thought i have seen some exhibitions before, i was really surprised …

Continue reading

Posted in science | Leave a comment

SMTP-Auth with Telnet

(E)SMTP

Most of you proably know how to “speak” SMTP. A basic session looks like:

user@host:~$ telnet mail.example.com smtp
Trying x.y.z.a ...
Connected to mail.example.com.
Escape character is '^]'.
ehlo d
250-hostX.example.com
250-PIPELINING
...
mail from: <some@address.org>
250 2.1.0 Ok
rcpt to: <some@example.com>
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
blabla bla
bla nonsense
bla
.
250 2.0.0 Ok: queued as SOMEIDXYZ

Continue reading

Posted in geek | Leave a comment