[tip: sched/core] sched: Make nr_iowait_cpu() return 32-bit value

From: tip-bot2 for Alexey Dobriyan
Date: Wed May 12 2021 - 16:35:13 EST


The following commit has been merged into the sched/core branch of tip:

Commit-ID: 8fc2858e572ce761bffcade81a42ac72005e76f9
Gitweb: https://git.kernel.org/tip/8fc2858e572ce761bffcade81a42ac72005e76f9
Author: Alexey Dobriyan <adobriyan@xxxxxxxxx>
AuthorDate: Thu, 22 Apr 2021 23:02:27 +03:00
Committer: Ingo Molnar <mingo@xxxxxxxxxx>
CommitterDate: Wed, 12 May 2021 21:34:16 +02:00

sched: Make nr_iowait_cpu() return 32-bit value

Runqueue ->nr_iowait counters are 32-bit anyway.

Propagate 32-bitness into other code, but don't try too hard.

Signed-off-by: Alexey Dobriyan <adobriyan@xxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Link: https://lore.kernel.org/r/20210422200228.1423391-3-adobriyan@xxxxxxxxx
---
drivers/cpuidle/governors/menu.c | 6 +++---
include/linux/sched/stat.h | 2 +-
kernel/sched/core.c | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/cpuidle/governors/menu.c b/drivers/cpuidle/governors/menu.c
index c3aa8d6..2e56704 100644
--- a/drivers/cpuidle/governors/menu.c
+++ b/drivers/cpuidle/governors/menu.c
@@ -117,7 +117,7 @@ struct menu_device {
int interval_ptr;
};

-static inline int which_bucket(u64 duration_ns, unsigned long nr_iowaiters)
+static inline int which_bucket(u64 duration_ns, unsigned int nr_iowaiters)
{
int bucket = 0;

@@ -150,7 +150,7 @@ static inline int which_bucket(u64 duration_ns, unsigned long nr_iowaiters)
* to be, the higher this multiplier, and thus the higher
* the barrier to go to an expensive C state.
*/
-static inline int performance_multiplier(unsigned long nr_iowaiters)
+static inline int performance_multiplier(unsigned int nr_iowaiters)
{
/* for IO wait tasks (per cpu!) we add 10x each */
return 1 + 10 * nr_iowaiters;
@@ -270,7 +270,7 @@ static int menu_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
unsigned int predicted_us;
u64 predicted_ns;
u64 interactivity_req;
- unsigned long nr_iowaiters;
+ unsigned int nr_iowaiters;
ktime_t delta, delta_tick;
int i, idx;

diff --git a/include/linux/sched/stat.h b/include/linux/sched/stat.h
index 81d9b53..0108a38 100644
--- a/include/linux/sched/stat.h
+++ b/include/linux/sched/stat.h
@@ -20,7 +20,7 @@ extern int nr_processes(void);
extern unsigned int nr_running(void);
extern bool single_task_running(void);
extern unsigned int nr_iowait(void);
-extern unsigned long nr_iowait_cpu(int cpu);
+extern unsigned int nr_iowait_cpu(int cpu);

static inline int sched_info_on(void)
{
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index fadf2bf..24fd795 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -4739,7 +4739,7 @@ unsigned long long nr_context_switches(void)
* it does become runnable.
*/

-unsigned long nr_iowait_cpu(int cpu)
+unsigned int nr_iowait_cpu(int cpu)
{
return atomic_read(&cpu_rq(cpu)->nr_iowait);
}