[patch 1/1] cpufreq_conservative: invert meaning of 'ignore_nice'

From: Alexander Clouter
Date: Thu Sep 29 2005 - 03:50:35 EST


The use of the 'ignore_nice' sysfs file is confusing to anyone using. This
patch makes it so when you now set it to the default value of 1, process nice
time is also ignored in the cpu 'busyness' calculation.

Prior to this patch to set it to '1' to make process nice time count...even
confused me :)

WARNING: this obvious breaks any userland tools that expect things to be the
other way round. This patch clears up the confusion but should go in ASAP as
at the moment it seems very few tools even make use of this functionality;
all I could find was a Gentoo Wiki entry.

Signed-off-by: Alexander Clouter <alex-kernel@xxxxxxxxxxxxx>
diff -u linux-2.6.13.orig/drivers/cpufreq/cpufreq_conservative.c linux-2.6.13/drivers/cpufreq/cpufreq_conservative.c
--- linux-2.6.13.orig/drivers/cpufreq/cpufreq_conservative.c 2005-09-23 15:24:46.605223250 +0100
+++ linux-2.6.13/drivers/cpufreq/cpufreq_conservative.c 2005-09-23 15:24:30.740231750 +0100
@@ -93,7 +93,7 @@
{
return kstat_cpu(cpu).cpustat.idle +
kstat_cpu(cpu).cpustat.iowait +
- ( !dbs_tuners_ins.ignore_nice ?
+ ( dbs_tuners_ins.ignore_nice ?
kstat_cpu(cpu).cpustat.nice :
0);
}
@@ -515,7 +515,7 @@
def_sampling_rate = (latency / 1000) *
DEF_SAMPLING_RATE_LATENCY_MULTIPLIER;
dbs_tuners_ins.sampling_rate = def_sampling_rate;
- dbs_tuners_ins.ignore_nice = 0;
+ dbs_tuners_ins.ignore_nice = 1;
dbs_tuners_ins.freq_step = 5;

dbs_timer_init();
diff -u linux-2.6.13.orig/drivers/cpufreq/cpufreq_ondemand.c linux-2.6.13/drivers/cpufreq/cpufreq_ondemand.c
--- linux-2.6.13.orig/drivers/cpufreq/cpufreq_ondemand.c 2005-09-23 15:24:46.609223500 +0100
+++ linux-2.6.13/drivers/cpufreq/cpufreq_ondemand.c 2005-09-23 15:24:08.846863500 +0100
@@ -86,7 +86,7 @@
{
return kstat_cpu(cpu).cpustat.idle +
kstat_cpu(cpu).cpustat.iowait +
- ( !dbs_tuners_ins.ignore_nice ?
+ ( dbs_tuners_ins.ignore_nice ?
kstat_cpu(cpu).cpustat.nice :
0);
}
@@ -424,7 +424,7 @@
def_sampling_rate = (latency / 1000) *
DEF_SAMPLING_RATE_LATENCY_MULTIPLIER;
dbs_tuners_ins.sampling_rate = def_sampling_rate;
- dbs_tuners_ins.ignore_nice = 0;
+ dbs_tuners_ins.ignore_nice = 1;

dbs_timer_init();
}

Attachment: signature.asc
Description: Digital signature