mirror of https://gitee.com/openkylin/linux.git
[PATCH] s390: cputime_t fixes
There are some more places where the use of cputime_t instead of an integer type and the associated macros is necessary for the virtual cputime accounting on s390. Affected are the s390 specific appldata code and BSD process accounting. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
088c4ec16a
commit
089545f0c7
|
@ -141,19 +141,19 @@ static void appldata_get_os_data(void *data)
|
|||
j = 0;
|
||||
for_each_online_cpu(i) {
|
||||
os_data->os_cpu[j].per_cpu_user =
|
||||
kstat_cpu(i).cpustat.user;
|
||||
cputime_to_jiffies(kstat_cpu(i).cpustat.user);
|
||||
os_data->os_cpu[j].per_cpu_nice =
|
||||
kstat_cpu(i).cpustat.nice;
|
||||
cputime_to_jiffies(kstat_cpu(i).cpustat.nice);
|
||||
os_data->os_cpu[j].per_cpu_system =
|
||||
kstat_cpu(i).cpustat.system;
|
||||
cputime_to_jiffies(kstat_cpu(i).cpustat.system);
|
||||
os_data->os_cpu[j].per_cpu_idle =
|
||||
kstat_cpu(i).cpustat.idle;
|
||||
cputime_to_jiffies(kstat_cpu(i).cpustat.idle);
|
||||
os_data->os_cpu[j].per_cpu_irq =
|
||||
kstat_cpu(i).cpustat.irq;
|
||||
cputime_to_jiffies(kstat_cpu(i).cpustat.irq);
|
||||
os_data->os_cpu[j].per_cpu_softirq =
|
||||
kstat_cpu(i).cpustat.softirq;
|
||||
cputime_to_jiffies(kstat_cpu(i).cpustat.softirq);
|
||||
os_data->os_cpu[j].per_cpu_iowait =
|
||||
kstat_cpu(i).cpustat.iowait;
|
||||
cputime_to_jiffies(kstat_cpu(i).cpustat.iowait);
|
||||
j++;
|
||||
}
|
||||
|
||||
|
|
|
@ -427,6 +427,7 @@ static void do_acct_process(long exitcode, struct file *file)
|
|||
u64 elapsed;
|
||||
u64 run_time;
|
||||
struct timespec uptime;
|
||||
unsigned long jiffies;
|
||||
|
||||
/*
|
||||
* First check to see if there is enough free_space to continue
|
||||
|
@ -467,12 +468,12 @@ static void do_acct_process(long exitcode, struct file *file)
|
|||
#endif
|
||||
do_div(elapsed, AHZ);
|
||||
ac.ac_btime = xtime.tv_sec - elapsed;
|
||||
ac.ac_utime = encode_comp_t(jiffies_to_AHZ(
|
||||
current->signal->utime +
|
||||
current->group_leader->utime));
|
||||
ac.ac_stime = encode_comp_t(jiffies_to_AHZ(
|
||||
current->signal->stime +
|
||||
current->group_leader->stime));
|
||||
jiffies = cputime_to_jiffies(cputime_add(current->group_leader->utime,
|
||||
current->signal->utime));
|
||||
ac.ac_utime = encode_comp_t(jiffies_to_AHZ(jiffies));
|
||||
jiffies = cputime_to_jiffies(cputime_add(current->group_leader->stime,
|
||||
current->signal->stime));
|
||||
ac.ac_stime = encode_comp_t(jiffies_to_AHZ(jiffies));
|
||||
/* we really need to bite the bullet and change layout */
|
||||
ac.ac_uid = current->uid;
|
||||
ac.ac_gid = current->gid;
|
||||
|
@ -580,7 +581,8 @@ void acct_process(long exitcode)
|
|||
void acct_update_integrals(struct task_struct *tsk)
|
||||
{
|
||||
if (likely(tsk->mm)) {
|
||||
long delta = tsk->stime - tsk->acct_stimexpd;
|
||||
long delta =
|
||||
cputime_to_jiffies(tsk->stime) - tsk->acct_stimexpd;
|
||||
|
||||
if (delta == 0)
|
||||
return;
|
||||
|
|
Loading…
Reference in New Issue