mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
[S390] cputime: add sparse checking and cleanup
Make cputime_t and cputime64_t nocast to enable sparse checking to detect incorrect use of cputime. Drop the cputime macros for simple scalar operations. The conversion macros are still needed. Signed-off-by: Martin Schwidefsky <[email protected]>
This commit is contained in:
parent
55b02d2f44
commit
648616343c
23 changed files with 323 additions and 429 deletions
|
|
@ -103,15 +103,14 @@ static inline cputime64_t get_cpu_idle_time_jiffy(unsigned int cpu,
|
|||
cputime64_t busy_time;
|
||||
|
||||
cur_wall_time = jiffies64_to_cputime64(get_jiffies_64());
|
||||
busy_time = cputime64_add(kstat_cpu(cpu).cpustat.user,
|
||||
kstat_cpu(cpu).cpustat.system);
|
||||
busy_time = kstat_cpu(cpu).cpustat.user;
|
||||
busy_time += kstat_cpu(cpu).cpustat.system;
|
||||
busy_time += kstat_cpu(cpu).cpustat.irq;
|
||||
busy_time += kstat_cpu(cpu).cpustat.softirq;
|
||||
busy_time += kstat_cpu(cpu).cpustat.steal;
|
||||
busy_time += kstat_cpu(cpu).cpustat.nice;
|
||||
|
||||
busy_time = cputime64_add(busy_time, kstat_cpu(cpu).cpustat.irq);
|
||||
busy_time = cputime64_add(busy_time, kstat_cpu(cpu).cpustat.softirq);
|
||||
busy_time = cputime64_add(busy_time, kstat_cpu(cpu).cpustat.steal);
|
||||
busy_time = cputime64_add(busy_time, kstat_cpu(cpu).cpustat.nice);
|
||||
|
||||
idle_time = cputime64_sub(cur_wall_time, busy_time);
|
||||
idle_time = cur_wall_time - busy_time;
|
||||
if (wall)
|
||||
*wall = (cputime64_t)jiffies_to_usecs(cur_wall_time);
|
||||
|
||||
|
|
@ -353,20 +352,20 @@ static void dbs_check_cpu(struct cpu_dbs_info_s *this_dbs_info)
|
|||
|
||||
cur_idle_time = get_cpu_idle_time(j, &cur_wall_time);
|
||||
|
||||
wall_time = (unsigned int) cputime64_sub(cur_wall_time,
|
||||
j_dbs_info->prev_cpu_wall);
|
||||
wall_time = (unsigned int)
|
||||
(cur_wall_time - j_dbs_info->prev_cpu_wall);
|
||||
j_dbs_info->prev_cpu_wall = cur_wall_time;
|
||||
|
||||
idle_time = (unsigned int) cputime64_sub(cur_idle_time,
|
||||
j_dbs_info->prev_cpu_idle);
|
||||
idle_time = (unsigned int)
|
||||
(cur_idle_time - j_dbs_info->prev_cpu_idle);
|
||||
j_dbs_info->prev_cpu_idle = cur_idle_time;
|
||||
|
||||
if (dbs_tuners_ins.ignore_nice) {
|
||||
cputime64_t cur_nice;
|
||||
unsigned long cur_nice_jiffies;
|
||||
|
||||
cur_nice = cputime64_sub(kstat_cpu(j).cpustat.nice,
|
||||
j_dbs_info->prev_cpu_nice);
|
||||
cur_nice = kstat_cpu(j).cpustat.nice -
|
||||
j_dbs_info->prev_cpu_nice;
|
||||
/*
|
||||
* Assumption: nice time between sampling periods will
|
||||
* be less than 2^32 jiffies for 32 bit sys
|
||||
|
|
|
|||
|
|
@ -127,15 +127,14 @@ static inline cputime64_t get_cpu_idle_time_jiffy(unsigned int cpu,
|
|||
cputime64_t busy_time;
|
||||
|
||||
cur_wall_time = jiffies64_to_cputime64(get_jiffies_64());
|
||||
busy_time = cputime64_add(kstat_cpu(cpu).cpustat.user,
|
||||
kstat_cpu(cpu).cpustat.system);
|
||||
busy_time = kstat_cpu(cpu).cpustat.user;
|
||||
busy_time += kstat_cpu(cpu).cpustat.system;
|
||||
busy_time += kstat_cpu(cpu).cpustat.irq;
|
||||
busy_time += kstat_cpu(cpu).cpustat.softirq;
|
||||
busy_time += kstat_cpu(cpu).cpustat.steal;
|
||||
busy_time += kstat_cpu(cpu).cpustat.nice;
|
||||
|
||||
busy_time = cputime64_add(busy_time, kstat_cpu(cpu).cpustat.irq);
|
||||
busy_time = cputime64_add(busy_time, kstat_cpu(cpu).cpustat.softirq);
|
||||
busy_time = cputime64_add(busy_time, kstat_cpu(cpu).cpustat.steal);
|
||||
busy_time = cputime64_add(busy_time, kstat_cpu(cpu).cpustat.nice);
|
||||
|
||||
idle_time = cputime64_sub(cur_wall_time, busy_time);
|
||||
idle_time = cur_wall_time - busy_time;
|
||||
if (wall)
|
||||
*wall = (cputime64_t)jiffies_to_usecs(cur_wall_time);
|
||||
|
||||
|
|
@ -442,24 +441,24 @@ static void dbs_check_cpu(struct cpu_dbs_info_s *this_dbs_info)
|
|||
cur_idle_time = get_cpu_idle_time(j, &cur_wall_time);
|
||||
cur_iowait_time = get_cpu_iowait_time(j, &cur_wall_time);
|
||||
|
||||
wall_time = (unsigned int) cputime64_sub(cur_wall_time,
|
||||
j_dbs_info->prev_cpu_wall);
|
||||
wall_time = (unsigned int)
|
||||
(cur_wall_time - j_dbs_info->prev_cpu_wall);
|
||||
j_dbs_info->prev_cpu_wall = cur_wall_time;
|
||||
|
||||
idle_time = (unsigned int) cputime64_sub(cur_idle_time,
|
||||
j_dbs_info->prev_cpu_idle);
|
||||
idle_time = (unsigned int)
|
||||
(cur_idle_time - j_dbs_info->prev_cpu_idle);
|
||||
j_dbs_info->prev_cpu_idle = cur_idle_time;
|
||||
|
||||
iowait_time = (unsigned int) cputime64_sub(cur_iowait_time,
|
||||
j_dbs_info->prev_cpu_iowait);
|
||||
iowait_time = (unsigned int)
|
||||
(cur_iowait_time - j_dbs_info->prev_cpu_iowait);
|
||||
j_dbs_info->prev_cpu_iowait = cur_iowait_time;
|
||||
|
||||
if (dbs_tuners_ins.ignore_nice) {
|
||||
cputime64_t cur_nice;
|
||||
unsigned long cur_nice_jiffies;
|
||||
|
||||
cur_nice = cputime64_sub(kstat_cpu(j).cpustat.nice,
|
||||
j_dbs_info->prev_cpu_nice);
|
||||
cur_nice = kstat_cpu(j).cpustat.nice -
|
||||
j_dbs_info->prev_cpu_nice;
|
||||
/*
|
||||
* Assumption: nice time between sampling periods will
|
||||
* be less than 2^32 jiffies for 32 bit sys
|
||||
|
|
|
|||
|
|
@ -61,9 +61,8 @@ static int cpufreq_stats_update(unsigned int cpu)
|
|||
spin_lock(&cpufreq_stats_lock);
|
||||
stat = per_cpu(cpufreq_stats_table, cpu);
|
||||
if (stat->time_in_state)
|
||||
stat->time_in_state[stat->last_index] =
|
||||
cputime64_add(stat->time_in_state[stat->last_index],
|
||||
cputime_sub(cur_time, stat->last_time));
|
||||
stat->time_in_state[stat->last_index] +=
|
||||
cur_time - stat->last_time;
|
||||
stat->last_time = cur_time;
|
||||
spin_unlock(&cpufreq_stats_lock);
|
||||
return 0;
|
||||
|
|
|
|||
Loading…
Reference in a new issue