[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 <schwidefsky@de.ibm.com>
This commit is contained in:
@@ -394,8 +394,8 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns,
|
||||
|
||||
sigemptyset(&sigign);
|
||||
sigemptyset(&sigcatch);
|
||||
cutime = cstime = utime = stime = cputime_zero;
|
||||
cgtime = gtime = cputime_zero;
|
||||
cutime = cstime = utime = stime = 0;
|
||||
cgtime = gtime = 0;
|
||||
|
||||
if (lock_task_sighand(task, &flags)) {
|
||||
struct signal_struct *sig = task->signal;
|
||||
@@ -423,14 +423,14 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns,
|
||||
do {
|
||||
min_flt += t->min_flt;
|
||||
maj_flt += t->maj_flt;
|
||||
gtime = cputime_add(gtime, t->gtime);
|
||||
gtime += t->gtime;
|
||||
t = next_thread(t);
|
||||
} while (t != task);
|
||||
|
||||
min_flt += sig->min_flt;
|
||||
maj_flt += sig->maj_flt;
|
||||
thread_group_times(task, &utime, &stime);
|
||||
gtime = cputime_add(gtime, sig->gtime);
|
||||
gtime += sig->gtime;
|
||||
}
|
||||
|
||||
sid = task_session_nr_ns(task, ns);
|
||||
|
@@ -30,7 +30,7 @@ static cputime64_t get_idle_time(int cpu)
|
||||
if (idle_time == -1ULL) {
|
||||
/* !NO_HZ so we can rely on cpustat.idle */
|
||||
idle = kstat_cpu(cpu).cpustat.idle;
|
||||
idle = cputime64_add(idle, arch_idle_time(cpu));
|
||||
idle += arch_idle_time(cpu);
|
||||
} else
|
||||
idle = nsecs_to_jiffies64(1000 * idle_time);
|
||||
|
||||
@@ -63,23 +63,22 @@ static int show_stat(struct seq_file *p, void *v)
|
||||
struct timespec boottime;
|
||||
|
||||
user = nice = system = idle = iowait =
|
||||
irq = softirq = steal = cputime64_zero;
|
||||
guest = guest_nice = cputime64_zero;
|
||||
irq = softirq = steal = 0;
|
||||
guest = guest_nice = 0;
|
||||
getboottime(&boottime);
|
||||
jif = boottime.tv_sec;
|
||||
|
||||
for_each_possible_cpu(i) {
|
||||
user = cputime64_add(user, kstat_cpu(i).cpustat.user);
|
||||
nice = cputime64_add(nice, kstat_cpu(i).cpustat.nice);
|
||||
system = cputime64_add(system, kstat_cpu(i).cpustat.system);
|
||||
idle = cputime64_add(idle, get_idle_time(i));
|
||||
iowait = cputime64_add(iowait, get_iowait_time(i));
|
||||
irq = cputime64_add(irq, kstat_cpu(i).cpustat.irq);
|
||||
softirq = cputime64_add(softirq, kstat_cpu(i).cpustat.softirq);
|
||||
steal = cputime64_add(steal, kstat_cpu(i).cpustat.steal);
|
||||
guest = cputime64_add(guest, kstat_cpu(i).cpustat.guest);
|
||||
guest_nice = cputime64_add(guest_nice,
|
||||
kstat_cpu(i).cpustat.guest_nice);
|
||||
user += kstat_cpu(i).cpustat.user;
|
||||
nice += kstat_cpu(i).cpustat.nice;
|
||||
system += kstat_cpu(i).cpustat.system;
|
||||
idle += get_idle_time(i);
|
||||
iowait += get_iowait_time(i);
|
||||
irq += kstat_cpu(i).cpustat.irq;
|
||||
softirq += kstat_cpu(i).cpustat.softirq;
|
||||
steal += kstat_cpu(i).cpustat.steal;
|
||||
guest += kstat_cpu(i).cpustat.guest;
|
||||
guest_nice += kstat_cpu(i).cpustat.guest_nice;
|
||||
sum += kstat_cpu_irqs_sum(i);
|
||||
sum += arch_irq_stat_cpu(i);
|
||||
|
||||
|
@@ -12,10 +12,10 @@ static int uptime_proc_show(struct seq_file *m, void *v)
|
||||
struct timespec uptime;
|
||||
struct timespec idle;
|
||||
int i;
|
||||
cputime_t idletime = cputime_zero;
|
||||
cputime_t idletime = 0;
|
||||
|
||||
for_each_possible_cpu(i)
|
||||
idletime = cputime64_add(idletime, kstat_cpu(i).cpustat.idle);
|
||||
idletime += kstat_cpu(i).cpustat.idle;
|
||||
|
||||
do_posix_clock_monotonic_gettime(&uptime);
|
||||
monotonic_to_bootbased(&uptime);
|
||||
|
Reference in New Issue
Block a user