[PATCH] sched: fix divide_error panic in task_times

divide_error happens when sum_exec_runtime < 1ms and stime +
utime > 0. Then rtime will be zero, and in scale_stime 
rtime < total. total / rtime will execute, and then panic!!

Fix this by checking prev->stime + prev->utime >= rtime first. 

Base patch is:
 from Frederic Weisbecker <fweisbec@gmail.com>
 subject: [PATCH] cputime: Consolidate cputime adjustment code
 upstream commit: d37f761dbd276790f70dcf73a287fde2c3464482

task_cputime_adjusted() and thread_group_cputime_adjusted()
essentially share the same code. They just don't use the same
source:

* The first function uses the cputime in the task struct and the
previous adjusted snapshot that ensures monotonicity.

* The second adds the cputime of all tasks in the group and the
previous adjusted snapshot of the whole group from the signal
structure.

Just consolidate the common code that does the adjustment. These
functions just need to fetch the values from the appropriate
source.

Backport Notes:
	Patch below has alread been overridded. So skip it. 

	commit: bea6832cc8c4a0a9a65dd17da6aaa657fe27bc3e
	subject: sched: fix divide by zero at {thread_group,task}_times

Signed-off-by: Charles Wang <muming.wq@taobao.com>