mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
Merge branch 'sched/urgent' into timers/urgent
Merging it here because an upcoming timers/urgent fix relies on a change already in sched/urgent and not yet upstream. Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
commit
83895147b7
2 changed files with 12 additions and 6 deletions
|
@ -443,6 +443,7 @@ struct pacct_struct {
|
|||
* @utime: time spent in user mode, in &cputime_t units
|
||||
* @stime: time spent in kernel mode, in &cputime_t units
|
||||
* @sum_exec_runtime: total time spent on the CPU, in nanoseconds
|
||||
* @lock: lock for fields in this struct
|
||||
*
|
||||
* This structure groups together three kinds of CPU time that are
|
||||
* tracked for threads and thread groups. Most things considering
|
||||
|
|
|
@ -3890,19 +3890,24 @@ int select_nohz_load_balancer(int stop_tick)
|
|||
int cpu = smp_processor_id();
|
||||
|
||||
if (stop_tick) {
|
||||
cpumask_set_cpu(cpu, nohz.cpu_mask);
|
||||
cpu_rq(cpu)->in_nohz_recently = 1;
|
||||
|
||||
/*
|
||||
* If we are going offline and still the leader, give up!
|
||||
*/
|
||||
if (!cpu_active(cpu) &&
|
||||
atomic_read(&nohz.load_balancer) == cpu) {
|
||||
if (!cpu_active(cpu)) {
|
||||
if (atomic_read(&nohz.load_balancer) != cpu)
|
||||
return 0;
|
||||
|
||||
/*
|
||||
* If we are going offline and still the leader,
|
||||
* give up!
|
||||
*/
|
||||
if (atomic_cmpxchg(&nohz.load_balancer, cpu, -1) != cpu)
|
||||
BUG();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
cpumask_set_cpu(cpu, nohz.cpu_mask);
|
||||
|
||||
/* time for ilb owner also to sleep */
|
||||
if (cpumask_weight(nohz.cpu_mask) == num_online_cpus()) {
|
||||
if (atomic_read(&nohz.load_balancer) == cpu)
|
||||
|
|
Loading…
Reference in a new issue