diff options
Diffstat (limited to 'kernel/sched/core.c')
| -rw-r--r-- | kernel/sched/core.c | 15 | 
1 files changed, 4 insertions, 11 deletions
| diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 2e4ae00e52d1..848eaa0efe0e 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -5822,8 +5822,7 @@ pick_next_task(struct rq *rq, struct task_struct *prev, struct rq_flags *rf)  	}  	if (schedstat_enabled() && rq->core->core_forceidle_count) { -		if (cookie) -			rq->core->core_forceidle_start = rq_clock(rq->core); +		rq->core->core_forceidle_start = rq_clock(rq->core);  		rq->core->core_forceidle_occupation = occ;  	} @@ -8219,9 +8218,7 @@ int __cond_resched_lock(spinlock_t *lock)  	if (spin_needbreak(lock) || resched) {  		spin_unlock(lock); -		if (resched) -			preempt_schedule_common(); -		else +		if (!_cond_resched())  			cpu_relax();  		ret = 1;  		spin_lock(lock); @@ -8239,9 +8236,7 @@ int __cond_resched_rwlock_read(rwlock_t *lock)  	if (rwlock_needbreak(lock) || resched) {  		read_unlock(lock); -		if (resched) -			preempt_schedule_common(); -		else +		if (!_cond_resched())  			cpu_relax();  		ret = 1;  		read_lock(lock); @@ -8259,9 +8254,7 @@ int __cond_resched_rwlock_write(rwlock_t *lock)  	if (rwlock_needbreak(lock) || resched) {  		write_unlock(lock); -		if (resched) -			preempt_schedule_common(); -		else +		if (!_cond_resched())  			cpu_relax();  		ret = 1;  		write_lock(lock); |