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 <[email protected]>
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
- Follow-Ups:
- Re: [patch 1/1] cpufreq_conservative: invert meaning of 'ignore_nice'
- From: Blaisorblade <[email protected]>
- Re: [patch 1/1] cpufreq_conservative: invert meaning of 'ignore_nice'
- Prev by Date: [patch 1/1] cpufreq: documentation for 'ondemand' and 'conservative'
- Next by Date: Re: [2.6.14] Cpufreq_ondemand sysfs names change
- Previous by thread: [patch 1/1] cpufreq: documentation for 'ondemand' and 'conservative'
- Next by thread: Re: [patch 1/1] cpufreq_conservative: invert meaning of 'ignore_nice'
- Index(es):