* Re: ignore_nice vs. ignore_nice_load
[not found] <51FC1935.5030702@gmx.net>
@ 2013-08-05 7:01 ` Viresh Kumar
2013-08-05 13:00 ` Rafael J. Wysocki
2013-08-06 7:40 ` Martin von Gagern
0 siblings, 2 replies; 3+ messages in thread
From: Viresh Kumar @ 2013-08-05 7:01 UTC (permalink / raw)
To: Martin von Gagern, Rafael J. Wysocki; +Cc: cpufreq, Linux PM list
[-- Attachment #1: Type: text/plain, Size: 9881 bytes --]
On Sat, Aug 3, 2013 at 2:10 AM, Martin von Gagern
<Martin.vGagern@gmx.net> wrote:
> I just noticed that recently (apparently since 4d5dcc4211f9def4) the
> sysfs file that used to be called ignore_nice_load is now called
> ignore_nice. I don't know why this was renamed, but what has me
> worried even more is the fact that the documentation in
> Documentation/cpu-freq/governors.txt wasn't updated accordingly: it
> still talks about ignore_nice_load. It would be beter to synchronize
> these two again.
It was an unintentional change... And so we have a bug in our code
now.
> Investigating this issue, I also found that the file used to be called
> ignore_nice in the past, but at that point apparently had an inverted
> meaning. The node was renamed deliberately in 001893cda2f280ab when
> the semantics changed. I can't help but wonder whether anyone might
> now get confused with this old name popping up again, after all this
> time. Either name is fine by me, but I am surprised nevertheless.
Please try following patch (attached for applying).
@Rafael: This bug got introduced recently 3.10, so we may consider it
as a fix for 3.11?
------------x----------------x---------------------
From: Viresh Kumar <viresh.kumar@linaro.org>
Date: Mon, 5 Aug 2013 12:28:02 +0530
Subject: [PATCH] cpufreq: rename ignore_nice as ignore_nice_load
This sysfs file was earlier called ignore_nice_load and by mistake was changed
to ignore_nice during this patch:
commit 4d5dcc4211f9def4281eafb54b8ed483862e8135
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date: Wed Mar 27 15:58:58 2013 +0000
cpufreq: governor: Implement per policy instances of governors
Lets get it renamed back to its original name.
Reported-by: Martin von Gagern <Martin.vGagern@gmx.net>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
drivers/cpufreq/cpufreq_conservative.c | 20 ++++++++++----------
drivers/cpufreq/cpufreq_governor.c | 8 ++++----
drivers/cpufreq/cpufreq_governor.h | 4 ++--
drivers/cpufreq/cpufreq_ondemand.c | 20 ++++++++++----------
4 files changed, 26 insertions(+), 26 deletions(-)
diff --git a/drivers/cpufreq/cpufreq_conservative.c
b/drivers/cpufreq/cpufreq_conservative.c
index c400924..7f67a75 100644
--- a/drivers/cpufreq/cpufreq_conservative.c
+++ b/drivers/cpufreq/cpufreq_conservative.c
@@ -209,8 +209,8 @@ static ssize_t store_down_threshold(struct
dbs_data *dbs_data, const char *buf,
return count;
}
-static ssize_t store_ignore_nice(struct dbs_data *dbs_data, const char *buf,
- size_t count)
+static ssize_t store_ignore_nice_load(struct dbs_data *dbs_data,
+ const char *buf, size_t count)
{
struct cs_dbs_tuners *cs_tuners = dbs_data->tuners;
unsigned int input, j;
@@ -223,10 +223,10 @@ static ssize_t store_ignore_nice(struct dbs_data
*dbs_data, const char *buf,
if (input > 1)
input = 1;
- if (input == cs_tuners->ignore_nice) /* nothing to do */
+ if (input == cs_tuners->ignore_nice_load) /* nothing to do */
return count;
- cs_tuners->ignore_nice = input;
+ cs_tuners->ignore_nice_load = input;
/* we need to re-evaluate prev_cpu_idle */
for_each_online_cpu(j) {
@@ -234,7 +234,7 @@ static ssize_t store_ignore_nice(struct dbs_data
*dbs_data, const char *buf,
dbs_info = &per_cpu(cs_cpu_dbs_info, j);
dbs_info->cdbs.prev_cpu_idle = get_cpu_idle_time(j,
&dbs_info->cdbs.prev_cpu_wall, 0);
- if (cs_tuners->ignore_nice)
+ if (cs_tuners->ignore_nice_load)
dbs_info->cdbs.prev_cpu_nice =
kcpustat_cpu(j).cpustat[CPUTIME_NICE];
}
@@ -267,7 +267,7 @@ show_store_one(cs, sampling_rate);
show_store_one(cs, sampling_down_factor);
show_store_one(cs, up_threshold);
show_store_one(cs, down_threshold);
-show_store_one(cs, ignore_nice);
+show_store_one(cs, ignore_nice_load);
show_store_one(cs, freq_step);
declare_show_sampling_rate_min(cs);
@@ -275,7 +275,7 @@ gov_sys_pol_attr_rw(sampling_rate);
gov_sys_pol_attr_rw(sampling_down_factor);
gov_sys_pol_attr_rw(up_threshold);
gov_sys_pol_attr_rw(down_threshold);
-gov_sys_pol_attr_rw(ignore_nice);
+gov_sys_pol_attr_rw(ignore_nice_load);
gov_sys_pol_attr_rw(freq_step);
gov_sys_pol_attr_ro(sampling_rate_min);
@@ -285,7 +285,7 @@ static struct attribute *dbs_attributes_gov_sys[] = {
&sampling_down_factor_gov_sys.attr,
&up_threshold_gov_sys.attr,
&down_threshold_gov_sys.attr,
- &ignore_nice_gov_sys.attr,
+ &ignore_nice_load_gov_sys.attr,
&freq_step_gov_sys.attr,
NULL
};
@@ -301,7 +301,7 @@ static struct attribute *dbs_attributes_gov_pol[] = {
&sampling_down_factor_gov_pol.attr,
&up_threshold_gov_pol.attr,
&down_threshold_gov_pol.attr,
- &ignore_nice_gov_pol.attr,
+ &ignore_nice_load_gov_pol.attr,
&freq_step_gov_pol.attr,
NULL
};
@@ -326,7 +326,7 @@ static int cs_init(struct dbs_data *dbs_data)
tuners->up_threshold = DEF_FREQUENCY_UP_THRESHOLD;
tuners->down_threshold = DEF_FREQUENCY_DOWN_THRESHOLD;
tuners->sampling_down_factor = DEF_SAMPLING_DOWN_FACTOR;
- tuners->ignore_nice = 0;
+ tuners->ignore_nice_load = 0;
tuners->freq_step = DEF_FREQUENCY_STEP;
dbs_data->tuners = tuners;
diff --git a/drivers/cpufreq/cpufreq_governor.c
b/drivers/cpufreq/cpufreq_governor.c
index 556064e..8742736 100644
--- a/drivers/cpufreq/cpufreq_governor.c
+++ b/drivers/cpufreq/cpufreq_governor.c
@@ -41,9 +41,9 @@ void dbs_check_cpu(struct dbs_data *dbs_data, int cpu)
unsigned int j;
if (dbs_data->cdata->governor == GOV_ONDEMAND)
- ignore_nice = od_tuners->ignore_nice;
+ ignore_nice = od_tuners->ignore_nice_load;
else
- ignore_nice = cs_tuners->ignore_nice;
+ ignore_nice = cs_tuners->ignore_nice_load;
policy = cdbs->cur_policy;
@@ -284,12 +284,12 @@ int cpufreq_governor_dbs(struct cpufreq_policy *policy,
cs_tuners = dbs_data->tuners;
cs_dbs_info = dbs_data->cdata->get_cpu_dbs_info_s(cpu);
sampling_rate = cs_tuners->sampling_rate;
- ignore_nice = cs_tuners->ignore_nice;
+ ignore_nice = cs_tuners->ignore_nice_load;
} else {
od_tuners = dbs_data->tuners;
od_dbs_info = dbs_data->cdata->get_cpu_dbs_info_s(cpu);
sampling_rate = od_tuners->sampling_rate;
- ignore_nice = od_tuners->ignore_nice;
+ ignore_nice = od_tuners->ignore_nice_load;
od_ops = dbs_data->cdata->gov_ops;
io_busy = od_tuners->io_is_busy;
}
diff --git a/drivers/cpufreq/cpufreq_governor.h
b/drivers/cpufreq/cpufreq_governor.h
index 264e509..a02d78b 100644
--- a/drivers/cpufreq/cpufreq_governor.h
+++ b/drivers/cpufreq/cpufreq_governor.h
@@ -164,7 +164,7 @@ struct cs_cpu_dbs_info_s {
/* Per policy Governers sysfs tunables */
struct od_dbs_tuners {
- unsigned int ignore_nice;
+ unsigned int ignore_nice_load;
unsigned int sampling_rate;
unsigned int sampling_down_factor;
unsigned int up_threshold;
@@ -173,7 +173,7 @@ struct od_dbs_tuners {
};
struct cs_dbs_tuners {
- unsigned int ignore_nice;
+ unsigned int ignore_nice_load;
unsigned int sampling_rate;
unsigned int sampling_down_factor;
unsigned int up_threshold;
diff --git a/drivers/cpufreq/cpufreq_ondemand.c
b/drivers/cpufreq/cpufreq_ondemand.c
index 117278a..87f3305 100644
--- a/drivers/cpufreq/cpufreq_ondemand.c
+++ b/drivers/cpufreq/cpufreq_ondemand.c
@@ -372,8 +372,8 @@ static ssize_t store_sampling_down_factor(struct
dbs_data *dbs_data,
return count;
}
-static ssize_t store_ignore_nice(struct dbs_data *dbs_data, const char *buf,
- size_t count)
+static ssize_t store_ignore_nice_load(struct dbs_data *dbs_data,
+ const char *buf, size_t count)
{
struct od_dbs_tuners *od_tuners = dbs_data->tuners;
unsigned int input;
@@ -388,10 +388,10 @@ static ssize_t store_ignore_nice(struct dbs_data
*dbs_data, const char *buf,
if (input > 1)
input = 1;
- if (input == od_tuners->ignore_nice) { /* nothing to do */
+ if (input == od_tuners->ignore_nice_load) { /* nothing to do */
return count;
}
- od_tuners->ignore_nice = input;
+ od_tuners->ignore_nice_load = input;
/* we need to re-evaluate prev_cpu_idle */
for_each_online_cpu(j) {
@@ -399,7 +399,7 @@ static ssize_t store_ignore_nice(struct dbs_data
*dbs_data, const char *buf,
dbs_info = &per_cpu(od_cpu_dbs_info, j);
dbs_info->cdbs.prev_cpu_idle = get_cpu_idle_time(j,
&dbs_info->cdbs.prev_cpu_wall, od_tuners->io_is_busy);
- if (od_tuners->ignore_nice)
+ if (od_tuners->ignore_nice_load)
dbs_info->cdbs.prev_cpu_nice =
kcpustat_cpu(j).cpustat[CPUTIME_NICE];
@@ -430,7 +430,7 @@ show_store_one(od, sampling_rate);
show_store_one(od, io_is_busy);
show_store_one(od, up_threshold);
show_store_one(od, sampling_down_factor);
-show_store_one(od, ignore_nice);
+show_store_one(od, ignore_nice_load);
show_store_one(od, powersave_bias);
declare_show_sampling_rate_min(od);
@@ -438,7 +438,7 @@ gov_sys_pol_attr_rw(sampling_rate);
gov_sys_pol_attr_rw(io_is_busy);
gov_sys_pol_attr_rw(up_threshold);
gov_sys_pol_attr_rw(sampling_down_factor);
-gov_sys_pol_attr_rw(ignore_nice);
+gov_sys_pol_attr_rw(ignore_nice_load);
gov_sys_pol_attr_rw(powersave_bias);
gov_sys_pol_attr_ro(sampling_rate_min);
@@ -447,7 +447,7 @@ static struct attribute *dbs_attributes_gov_sys[] = {
&sampling_rate_gov_sys.attr,
&up_threshold_gov_sys.attr,
&sampling_down_factor_gov_sys.attr,
- &ignore_nice_gov_sys.attr,
+ &ignore_nice_load_gov_sys.attr,
&powersave_bias_gov_sys.attr,
&io_is_busy_gov_sys.attr,
NULL
@@ -463,7 +463,7 @@ static struct attribute *dbs_attributes_gov_pol[] = {
&sampling_rate_gov_pol.attr,
&up_threshold_gov_pol.attr,
&sampling_down_factor_gov_pol.attr,
- &ignore_nice_gov_pol.attr,
+ &ignore_nice_load_gov_pol.attr,
&powersave_bias_gov_pol.attr,
&io_is_busy_gov_pol.attr,
NULL
@@ -509,7 +509,7 @@ static int od_init(struct dbs_data *dbs_data)
}
tuners->sampling_down_factor = DEF_SAMPLING_DOWN_FACTOR;
- tuners->ignore_nice = 0;
+ tuners->ignore_nice_load = 0;
tuners->powersave_bias = default_powersave_bias;
tuners->io_is_busy = should_io_be_busy();
[-- Attachment #2: 0001-cpufreq-rename-ignore_nice-as-ignore_nice_load.patch --]
[-- Type: application/octet-stream, Size: 8897 bytes --]
From fd2609901dda1532bcf86214f4c8a64f74686370 Mon Sep 17 00:00:00 2001
Message-Id: <fd2609901dda1532bcf86214f4c8a64f74686370.1375685979.git.viresh.kumar@linaro.org>
From: Viresh Kumar <viresh.kumar@linaro.org>
Date: Mon, 5 Aug 2013 12:28:02 +0530
Subject: [PATCH] cpufreq: rename ignore_nice as ignore_nice_load
This sysfs file was earlier called ignore_nice_load and by mistake was changed
to ignore_nice during this patch:
commit 4d5dcc4211f9def4281eafb54b8ed483862e8135
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date: Wed Mar 27 15:58:58 2013 +0000
cpufreq: governor: Implement per policy instances of governors
Lets get it renamed back to its original name.
Reported-by: Martin von Gagern <Martin.vGagern@gmx.net>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
drivers/cpufreq/cpufreq_conservative.c | 20 ++++++++++----------
drivers/cpufreq/cpufreq_governor.c | 8 ++++----
drivers/cpufreq/cpufreq_governor.h | 4 ++--
drivers/cpufreq/cpufreq_ondemand.c | 20 ++++++++++----------
4 files changed, 26 insertions(+), 26 deletions(-)
diff --git a/drivers/cpufreq/cpufreq_conservative.c b/drivers/cpufreq/cpufreq_conservative.c
index c400924..7f67a75 100644
--- a/drivers/cpufreq/cpufreq_conservative.c
+++ b/drivers/cpufreq/cpufreq_conservative.c
@@ -209,8 +209,8 @@ static ssize_t store_down_threshold(struct dbs_data *dbs_data, const char *buf,
return count;
}
-static ssize_t store_ignore_nice(struct dbs_data *dbs_data, const char *buf,
- size_t count)
+static ssize_t store_ignore_nice_load(struct dbs_data *dbs_data,
+ const char *buf, size_t count)
{
struct cs_dbs_tuners *cs_tuners = dbs_data->tuners;
unsigned int input, j;
@@ -223,10 +223,10 @@ static ssize_t store_ignore_nice(struct dbs_data *dbs_data, const char *buf,
if (input > 1)
input = 1;
- if (input == cs_tuners->ignore_nice) /* nothing to do */
+ if (input == cs_tuners->ignore_nice_load) /* nothing to do */
return count;
- cs_tuners->ignore_nice = input;
+ cs_tuners->ignore_nice_load = input;
/* we need to re-evaluate prev_cpu_idle */
for_each_online_cpu(j) {
@@ -234,7 +234,7 @@ static ssize_t store_ignore_nice(struct dbs_data *dbs_data, const char *buf,
dbs_info = &per_cpu(cs_cpu_dbs_info, j);
dbs_info->cdbs.prev_cpu_idle = get_cpu_idle_time(j,
&dbs_info->cdbs.prev_cpu_wall, 0);
- if (cs_tuners->ignore_nice)
+ if (cs_tuners->ignore_nice_load)
dbs_info->cdbs.prev_cpu_nice =
kcpustat_cpu(j).cpustat[CPUTIME_NICE];
}
@@ -267,7 +267,7 @@ show_store_one(cs, sampling_rate);
show_store_one(cs, sampling_down_factor);
show_store_one(cs, up_threshold);
show_store_one(cs, down_threshold);
-show_store_one(cs, ignore_nice);
+show_store_one(cs, ignore_nice_load);
show_store_one(cs, freq_step);
declare_show_sampling_rate_min(cs);
@@ -275,7 +275,7 @@ gov_sys_pol_attr_rw(sampling_rate);
gov_sys_pol_attr_rw(sampling_down_factor);
gov_sys_pol_attr_rw(up_threshold);
gov_sys_pol_attr_rw(down_threshold);
-gov_sys_pol_attr_rw(ignore_nice);
+gov_sys_pol_attr_rw(ignore_nice_load);
gov_sys_pol_attr_rw(freq_step);
gov_sys_pol_attr_ro(sampling_rate_min);
@@ -285,7 +285,7 @@ static struct attribute *dbs_attributes_gov_sys[] = {
&sampling_down_factor_gov_sys.attr,
&up_threshold_gov_sys.attr,
&down_threshold_gov_sys.attr,
- &ignore_nice_gov_sys.attr,
+ &ignore_nice_load_gov_sys.attr,
&freq_step_gov_sys.attr,
NULL
};
@@ -301,7 +301,7 @@ static struct attribute *dbs_attributes_gov_pol[] = {
&sampling_down_factor_gov_pol.attr,
&up_threshold_gov_pol.attr,
&down_threshold_gov_pol.attr,
- &ignore_nice_gov_pol.attr,
+ &ignore_nice_load_gov_pol.attr,
&freq_step_gov_pol.attr,
NULL
};
@@ -326,7 +326,7 @@ static int cs_init(struct dbs_data *dbs_data)
tuners->up_threshold = DEF_FREQUENCY_UP_THRESHOLD;
tuners->down_threshold = DEF_FREQUENCY_DOWN_THRESHOLD;
tuners->sampling_down_factor = DEF_SAMPLING_DOWN_FACTOR;
- tuners->ignore_nice = 0;
+ tuners->ignore_nice_load = 0;
tuners->freq_step = DEF_FREQUENCY_STEP;
dbs_data->tuners = tuners;
diff --git a/drivers/cpufreq/cpufreq_governor.c b/drivers/cpufreq/cpufreq_governor.c
index 556064e..8742736 100644
--- a/drivers/cpufreq/cpufreq_governor.c
+++ b/drivers/cpufreq/cpufreq_governor.c
@@ -41,9 +41,9 @@ void dbs_check_cpu(struct dbs_data *dbs_data, int cpu)
unsigned int j;
if (dbs_data->cdata->governor == GOV_ONDEMAND)
- ignore_nice = od_tuners->ignore_nice;
+ ignore_nice = od_tuners->ignore_nice_load;
else
- ignore_nice = cs_tuners->ignore_nice;
+ ignore_nice = cs_tuners->ignore_nice_load;
policy = cdbs->cur_policy;
@@ -284,12 +284,12 @@ int cpufreq_governor_dbs(struct cpufreq_policy *policy,
cs_tuners = dbs_data->tuners;
cs_dbs_info = dbs_data->cdata->get_cpu_dbs_info_s(cpu);
sampling_rate = cs_tuners->sampling_rate;
- ignore_nice = cs_tuners->ignore_nice;
+ ignore_nice = cs_tuners->ignore_nice_load;
} else {
od_tuners = dbs_data->tuners;
od_dbs_info = dbs_data->cdata->get_cpu_dbs_info_s(cpu);
sampling_rate = od_tuners->sampling_rate;
- ignore_nice = od_tuners->ignore_nice;
+ ignore_nice = od_tuners->ignore_nice_load;
od_ops = dbs_data->cdata->gov_ops;
io_busy = od_tuners->io_is_busy;
}
diff --git a/drivers/cpufreq/cpufreq_governor.h b/drivers/cpufreq/cpufreq_governor.h
index 264e509..a02d78b 100644
--- a/drivers/cpufreq/cpufreq_governor.h
+++ b/drivers/cpufreq/cpufreq_governor.h
@@ -164,7 +164,7 @@ struct cs_cpu_dbs_info_s {
/* Per policy Governers sysfs tunables */
struct od_dbs_tuners {
- unsigned int ignore_nice;
+ unsigned int ignore_nice_load;
unsigned int sampling_rate;
unsigned int sampling_down_factor;
unsigned int up_threshold;
@@ -173,7 +173,7 @@ struct od_dbs_tuners {
};
struct cs_dbs_tuners {
- unsigned int ignore_nice;
+ unsigned int ignore_nice_load;
unsigned int sampling_rate;
unsigned int sampling_down_factor;
unsigned int up_threshold;
diff --git a/drivers/cpufreq/cpufreq_ondemand.c b/drivers/cpufreq/cpufreq_ondemand.c
index 117278a..87f3305 100644
--- a/drivers/cpufreq/cpufreq_ondemand.c
+++ b/drivers/cpufreq/cpufreq_ondemand.c
@@ -372,8 +372,8 @@ static ssize_t store_sampling_down_factor(struct dbs_data *dbs_data,
return count;
}
-static ssize_t store_ignore_nice(struct dbs_data *dbs_data, const char *buf,
- size_t count)
+static ssize_t store_ignore_nice_load(struct dbs_data *dbs_data,
+ const char *buf, size_t count)
{
struct od_dbs_tuners *od_tuners = dbs_data->tuners;
unsigned int input;
@@ -388,10 +388,10 @@ static ssize_t store_ignore_nice(struct dbs_data *dbs_data, const char *buf,
if (input > 1)
input = 1;
- if (input == od_tuners->ignore_nice) { /* nothing to do */
+ if (input == od_tuners->ignore_nice_load) { /* nothing to do */
return count;
}
- od_tuners->ignore_nice = input;
+ od_tuners->ignore_nice_load = input;
/* we need to re-evaluate prev_cpu_idle */
for_each_online_cpu(j) {
@@ -399,7 +399,7 @@ static ssize_t store_ignore_nice(struct dbs_data *dbs_data, const char *buf,
dbs_info = &per_cpu(od_cpu_dbs_info, j);
dbs_info->cdbs.prev_cpu_idle = get_cpu_idle_time(j,
&dbs_info->cdbs.prev_cpu_wall, od_tuners->io_is_busy);
- if (od_tuners->ignore_nice)
+ if (od_tuners->ignore_nice_load)
dbs_info->cdbs.prev_cpu_nice =
kcpustat_cpu(j).cpustat[CPUTIME_NICE];
@@ -430,7 +430,7 @@ show_store_one(od, sampling_rate);
show_store_one(od, io_is_busy);
show_store_one(od, up_threshold);
show_store_one(od, sampling_down_factor);
-show_store_one(od, ignore_nice);
+show_store_one(od, ignore_nice_load);
show_store_one(od, powersave_bias);
declare_show_sampling_rate_min(od);
@@ -438,7 +438,7 @@ gov_sys_pol_attr_rw(sampling_rate);
gov_sys_pol_attr_rw(io_is_busy);
gov_sys_pol_attr_rw(up_threshold);
gov_sys_pol_attr_rw(sampling_down_factor);
-gov_sys_pol_attr_rw(ignore_nice);
+gov_sys_pol_attr_rw(ignore_nice_load);
gov_sys_pol_attr_rw(powersave_bias);
gov_sys_pol_attr_ro(sampling_rate_min);
@@ -447,7 +447,7 @@ static struct attribute *dbs_attributes_gov_sys[] = {
&sampling_rate_gov_sys.attr,
&up_threshold_gov_sys.attr,
&sampling_down_factor_gov_sys.attr,
- &ignore_nice_gov_sys.attr,
+ &ignore_nice_load_gov_sys.attr,
&powersave_bias_gov_sys.attr,
&io_is_busy_gov_sys.attr,
NULL
@@ -463,7 +463,7 @@ static struct attribute *dbs_attributes_gov_pol[] = {
&sampling_rate_gov_pol.attr,
&up_threshold_gov_pol.attr,
&sampling_down_factor_gov_pol.attr,
- &ignore_nice_gov_pol.attr,
+ &ignore_nice_load_gov_pol.attr,
&powersave_bias_gov_pol.attr,
&io_is_busy_gov_pol.attr,
NULL
@@ -509,7 +509,7 @@ static int od_init(struct dbs_data *dbs_data)
}
tuners->sampling_down_factor = DEF_SAMPLING_DOWN_FACTOR;
- tuners->ignore_nice = 0;
+ tuners->ignore_nice_load = 0;
tuners->powersave_bias = default_powersave_bias;
tuners->io_is_busy = should_io_be_busy();
--
1.7.12.rc2.18.g61b472e
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: ignore_nice vs. ignore_nice_load
2013-08-05 7:01 ` ignore_nice vs. ignore_nice_load Viresh Kumar
@ 2013-08-05 13:00 ` Rafael J. Wysocki
2013-08-06 7:40 ` Martin von Gagern
1 sibling, 0 replies; 3+ messages in thread
From: Rafael J. Wysocki @ 2013-08-05 13:00 UTC (permalink / raw)
To: Viresh Kumar; +Cc: Martin von Gagern, cpufreq, Linux PM list
On Monday, August 05, 2013 12:31:40 PM Viresh Kumar wrote:
> On Sat, Aug 3, 2013 at 2:10 AM, Martin von Gagern
> <Martin.vGagern@gmx.net> wrote:
> > I just noticed that recently (apparently since 4d5dcc4211f9def4) the
> > sysfs file that used to be called ignore_nice_load is now called
> > ignore_nice. I don't know why this was renamed, but what has me
> > worried even more is the fact that the documentation in
> > Documentation/cpu-freq/governors.txt wasn't updated accordingly: it
> > still talks about ignore_nice_load. It would be beter to synchronize
> > these two again.
>
> It was an unintentional change... And so we have a bug in our code
> now.
>
> > Investigating this issue, I also found that the file used to be called
> > ignore_nice in the past, but at that point apparently had an inverted
> > meaning. The node was renamed deliberately in 001893cda2f280ab when
> > the semantics changed. I can't help but wonder whether anyone might
> > now get confused with this old name popping up again, after all this
> > time. Either name is fine by me, but I am surprised nevertheless.
>
> Please try following patch (attached for applying).
> @Rafael: This bug got introduced recently 3.10, so we may consider it
> as a fix for 3.11?
Yes.
Thanks,
Rafael
> ------------x----------------x---------------------
>
> From: Viresh Kumar <viresh.kumar@linaro.org>
> Date: Mon, 5 Aug 2013 12:28:02 +0530
> Subject: [PATCH] cpufreq: rename ignore_nice as ignore_nice_load
>
> This sysfs file was earlier called ignore_nice_load and by mistake was changed
> to ignore_nice during this patch:
>
> commit 4d5dcc4211f9def4281eafb54b8ed483862e8135
> Author: Viresh Kumar <viresh.kumar@linaro.org>
> Date: Wed Mar 27 15:58:58 2013 +0000
>
> cpufreq: governor: Implement per policy instances of governors
>
> Lets get it renamed back to its original name.
>
> Reported-by: Martin von Gagern <Martin.vGagern@gmx.net>
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
> drivers/cpufreq/cpufreq_conservative.c | 20 ++++++++++----------
> drivers/cpufreq/cpufreq_governor.c | 8 ++++----
> drivers/cpufreq/cpufreq_governor.h | 4 ++--
> drivers/cpufreq/cpufreq_ondemand.c | 20 ++++++++++----------
> 4 files changed, 26 insertions(+), 26 deletions(-)
>
> diff --git a/drivers/cpufreq/cpufreq_conservative.c
> b/drivers/cpufreq/cpufreq_conservative.c
> index c400924..7f67a75 100644
> --- a/drivers/cpufreq/cpufreq_conservative.c
> +++ b/drivers/cpufreq/cpufreq_conservative.c
> @@ -209,8 +209,8 @@ static ssize_t store_down_threshold(struct
> dbs_data *dbs_data, const char *buf,
> return count;
> }
>
> -static ssize_t store_ignore_nice(struct dbs_data *dbs_data, const char *buf,
> - size_t count)
> +static ssize_t store_ignore_nice_load(struct dbs_data *dbs_data,
> + const char *buf, size_t count)
> {
> struct cs_dbs_tuners *cs_tuners = dbs_data->tuners;
> unsigned int input, j;
> @@ -223,10 +223,10 @@ static ssize_t store_ignore_nice(struct dbs_data
> *dbs_data, const char *buf,
> if (input > 1)
> input = 1;
>
> - if (input == cs_tuners->ignore_nice) /* nothing to do */
> + if (input == cs_tuners->ignore_nice_load) /* nothing to do */
> return count;
>
> - cs_tuners->ignore_nice = input;
> + cs_tuners->ignore_nice_load = input;
>
> /* we need to re-evaluate prev_cpu_idle */
> for_each_online_cpu(j) {
> @@ -234,7 +234,7 @@ static ssize_t store_ignore_nice(struct dbs_data
> *dbs_data, const char *buf,
> dbs_info = &per_cpu(cs_cpu_dbs_info, j);
> dbs_info->cdbs.prev_cpu_idle = get_cpu_idle_time(j,
> &dbs_info->cdbs.prev_cpu_wall, 0);
> - if (cs_tuners->ignore_nice)
> + if (cs_tuners->ignore_nice_load)
> dbs_info->cdbs.prev_cpu_nice =
> kcpustat_cpu(j).cpustat[CPUTIME_NICE];
> }
> @@ -267,7 +267,7 @@ show_store_one(cs, sampling_rate);
> show_store_one(cs, sampling_down_factor);
> show_store_one(cs, up_threshold);
> show_store_one(cs, down_threshold);
> -show_store_one(cs, ignore_nice);
> +show_store_one(cs, ignore_nice_load);
> show_store_one(cs, freq_step);
> declare_show_sampling_rate_min(cs);
>
> @@ -275,7 +275,7 @@ gov_sys_pol_attr_rw(sampling_rate);
> gov_sys_pol_attr_rw(sampling_down_factor);
> gov_sys_pol_attr_rw(up_threshold);
> gov_sys_pol_attr_rw(down_threshold);
> -gov_sys_pol_attr_rw(ignore_nice);
> +gov_sys_pol_attr_rw(ignore_nice_load);
> gov_sys_pol_attr_rw(freq_step);
> gov_sys_pol_attr_ro(sampling_rate_min);
>
> @@ -285,7 +285,7 @@ static struct attribute *dbs_attributes_gov_sys[] = {
> &sampling_down_factor_gov_sys.attr,
> &up_threshold_gov_sys.attr,
> &down_threshold_gov_sys.attr,
> - &ignore_nice_gov_sys.attr,
> + &ignore_nice_load_gov_sys.attr,
> &freq_step_gov_sys.attr,
> NULL
> };
> @@ -301,7 +301,7 @@ static struct attribute *dbs_attributes_gov_pol[] = {
> &sampling_down_factor_gov_pol.attr,
> &up_threshold_gov_pol.attr,
> &down_threshold_gov_pol.attr,
> - &ignore_nice_gov_pol.attr,
> + &ignore_nice_load_gov_pol.attr,
> &freq_step_gov_pol.attr,
> NULL
> };
> @@ -326,7 +326,7 @@ static int cs_init(struct dbs_data *dbs_data)
> tuners->up_threshold = DEF_FREQUENCY_UP_THRESHOLD;
> tuners->down_threshold = DEF_FREQUENCY_DOWN_THRESHOLD;
> tuners->sampling_down_factor = DEF_SAMPLING_DOWN_FACTOR;
> - tuners->ignore_nice = 0;
> + tuners->ignore_nice_load = 0;
> tuners->freq_step = DEF_FREQUENCY_STEP;
>
> dbs_data->tuners = tuners;
> diff --git a/drivers/cpufreq/cpufreq_governor.c
> b/drivers/cpufreq/cpufreq_governor.c
> index 556064e..8742736 100644
> --- a/drivers/cpufreq/cpufreq_governor.c
> +++ b/drivers/cpufreq/cpufreq_governor.c
> @@ -41,9 +41,9 @@ void dbs_check_cpu(struct dbs_data *dbs_data, int cpu)
> unsigned int j;
>
> if (dbs_data->cdata->governor == GOV_ONDEMAND)
> - ignore_nice = od_tuners->ignore_nice;
> + ignore_nice = od_tuners->ignore_nice_load;
> else
> - ignore_nice = cs_tuners->ignore_nice;
> + ignore_nice = cs_tuners->ignore_nice_load;
>
> policy = cdbs->cur_policy;
>
> @@ -284,12 +284,12 @@ int cpufreq_governor_dbs(struct cpufreq_policy *policy,
> cs_tuners = dbs_data->tuners;
> cs_dbs_info = dbs_data->cdata->get_cpu_dbs_info_s(cpu);
> sampling_rate = cs_tuners->sampling_rate;
> - ignore_nice = cs_tuners->ignore_nice;
> + ignore_nice = cs_tuners->ignore_nice_load;
> } else {
> od_tuners = dbs_data->tuners;
> od_dbs_info = dbs_data->cdata->get_cpu_dbs_info_s(cpu);
> sampling_rate = od_tuners->sampling_rate;
> - ignore_nice = od_tuners->ignore_nice;
> + ignore_nice = od_tuners->ignore_nice_load;
> od_ops = dbs_data->cdata->gov_ops;
> io_busy = od_tuners->io_is_busy;
> }
> diff --git a/drivers/cpufreq/cpufreq_governor.h
> b/drivers/cpufreq/cpufreq_governor.h
> index 264e509..a02d78b 100644
> --- a/drivers/cpufreq/cpufreq_governor.h
> +++ b/drivers/cpufreq/cpufreq_governor.h
> @@ -164,7 +164,7 @@ struct cs_cpu_dbs_info_s {
>
> /* Per policy Governers sysfs tunables */
> struct od_dbs_tuners {
> - unsigned int ignore_nice;
> + unsigned int ignore_nice_load;
> unsigned int sampling_rate;
> unsigned int sampling_down_factor;
> unsigned int up_threshold;
> @@ -173,7 +173,7 @@ struct od_dbs_tuners {
> };
>
> struct cs_dbs_tuners {
> - unsigned int ignore_nice;
> + unsigned int ignore_nice_load;
> unsigned int sampling_rate;
> unsigned int sampling_down_factor;
> unsigned int up_threshold;
> diff --git a/drivers/cpufreq/cpufreq_ondemand.c
> b/drivers/cpufreq/cpufreq_ondemand.c
> index 117278a..87f3305 100644
> --- a/drivers/cpufreq/cpufreq_ondemand.c
> +++ b/drivers/cpufreq/cpufreq_ondemand.c
> @@ -372,8 +372,8 @@ static ssize_t store_sampling_down_factor(struct
> dbs_data *dbs_data,
> return count;
> }
>
> -static ssize_t store_ignore_nice(struct dbs_data *dbs_data, const char *buf,
> - size_t count)
> +static ssize_t store_ignore_nice_load(struct dbs_data *dbs_data,
> + const char *buf, size_t count)
> {
> struct od_dbs_tuners *od_tuners = dbs_data->tuners;
> unsigned int input;
> @@ -388,10 +388,10 @@ static ssize_t store_ignore_nice(struct dbs_data
> *dbs_data, const char *buf,
> if (input > 1)
> input = 1;
>
> - if (input == od_tuners->ignore_nice) { /* nothing to do */
> + if (input == od_tuners->ignore_nice_load) { /* nothing to do */
> return count;
> }
> - od_tuners->ignore_nice = input;
> + od_tuners->ignore_nice_load = input;
>
> /* we need to re-evaluate prev_cpu_idle */
> for_each_online_cpu(j) {
> @@ -399,7 +399,7 @@ static ssize_t store_ignore_nice(struct dbs_data
> *dbs_data, const char *buf,
> dbs_info = &per_cpu(od_cpu_dbs_info, j);
> dbs_info->cdbs.prev_cpu_idle = get_cpu_idle_time(j,
> &dbs_info->cdbs.prev_cpu_wall, od_tuners->io_is_busy);
> - if (od_tuners->ignore_nice)
> + if (od_tuners->ignore_nice_load)
> dbs_info->cdbs.prev_cpu_nice =
> kcpustat_cpu(j).cpustat[CPUTIME_NICE];
>
> @@ -430,7 +430,7 @@ show_store_one(od, sampling_rate);
> show_store_one(od, io_is_busy);
> show_store_one(od, up_threshold);
> show_store_one(od, sampling_down_factor);
> -show_store_one(od, ignore_nice);
> +show_store_one(od, ignore_nice_load);
> show_store_one(od, powersave_bias);
> declare_show_sampling_rate_min(od);
>
> @@ -438,7 +438,7 @@ gov_sys_pol_attr_rw(sampling_rate);
> gov_sys_pol_attr_rw(io_is_busy);
> gov_sys_pol_attr_rw(up_threshold);
> gov_sys_pol_attr_rw(sampling_down_factor);
> -gov_sys_pol_attr_rw(ignore_nice);
> +gov_sys_pol_attr_rw(ignore_nice_load);
> gov_sys_pol_attr_rw(powersave_bias);
> gov_sys_pol_attr_ro(sampling_rate_min);
>
> @@ -447,7 +447,7 @@ static struct attribute *dbs_attributes_gov_sys[] = {
> &sampling_rate_gov_sys.attr,
> &up_threshold_gov_sys.attr,
> &sampling_down_factor_gov_sys.attr,
> - &ignore_nice_gov_sys.attr,
> + &ignore_nice_load_gov_sys.attr,
> &powersave_bias_gov_sys.attr,
> &io_is_busy_gov_sys.attr,
> NULL
> @@ -463,7 +463,7 @@ static struct attribute *dbs_attributes_gov_pol[] = {
> &sampling_rate_gov_pol.attr,
> &up_threshold_gov_pol.attr,
> &sampling_down_factor_gov_pol.attr,
> - &ignore_nice_gov_pol.attr,
> + &ignore_nice_load_gov_pol.attr,
> &powersave_bias_gov_pol.attr,
> &io_is_busy_gov_pol.attr,
> NULL
> @@ -509,7 +509,7 @@ static int od_init(struct dbs_data *dbs_data)
> }
>
> tuners->sampling_down_factor = DEF_SAMPLING_DOWN_FACTOR;
> - tuners->ignore_nice = 0;
> + tuners->ignore_nice_load = 0;
> tuners->powersave_bias = default_powersave_bias;
> tuners->io_is_busy = should_io_be_busy();
--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: ignore_nice vs. ignore_nice_load
2013-08-05 7:01 ` ignore_nice vs. ignore_nice_load Viresh Kumar
2013-08-05 13:00 ` Rafael J. Wysocki
@ 2013-08-06 7:40 ` Martin von Gagern
1 sibling, 0 replies; 3+ messages in thread
From: Martin von Gagern @ 2013-08-06 7:40 UTC (permalink / raw)
To: Viresh Kumar; +Cc: cpufreq, linux-pm
[-- Attachment #1: Type: text/plain, Size: 202 bytes --]
On 05.08.2013 09:01, Viresh Kumar wrote:
> Please try following patch (attached for applying).
> [0001-cpufreq-rename-ignore_nice-as-ignore_nice_load.patch]
Looks good here.
Thanks,
Martin
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 263 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-08-06 7:40 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <51FC1935.5030702@gmx.net>
2013-08-05 7:01 ` ignore_nice vs. ignore_nice_load Viresh Kumar
2013-08-05 13:00 ` Rafael J. Wysocki
2013-08-06 7:40 ` Martin von Gagern
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).