mirror of
https://github.com/torvalds/linux.git
synced 2024-11-15 00:21:59 +00:00
[POWERPC] Fix possible division by zero in scaled time accounting
If we get no user time and no system time allocated since the last account_system_vtime, the system to user time ratio estimate can end up dividing by zero. This was causing a problem noticed by Balbir Singh. Signed-off-by: Michael Neuling <mikey@neuling.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
parent
c443acab2e
commit
2b46b5673c
@ -241,8 +241,9 @@ void account_system_vtime(struct task_struct *tsk)
|
||||
/* deltascaled includes both user and system time.
|
||||
* Hence scale it based on the purr ratio to estimate
|
||||
* the system time */
|
||||
deltascaled = deltascaled * get_paca()->system_time /
|
||||
(get_paca()->system_time + get_paca()->user_time);
|
||||
if (get_paca()->user_time)
|
||||
deltascaled = deltascaled * get_paca()->system_time /
|
||||
(get_paca()->system_time + get_paca()->user_time);
|
||||
delta += get_paca()->system_time;
|
||||
get_paca()->system_time = 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user