diff options
Diffstat (limited to 'kernel/locking/mutex.c')
| -rw-r--r-- | kernel/locking/mutex.c | 11 | 
1 files changed, 2 insertions, 9 deletions
| diff --git a/kernel/locking/mutex.c b/kernel/locking/mutex.c index db1913611192..5e3585950ec8 100644 --- a/kernel/locking/mutex.c +++ b/kernel/locking/mutex.c @@ -367,8 +367,7 @@ bool mutex_spin_on_owner(struct mutex *lock, struct task_struct *owner,  		/*  		 * Use vcpu_is_preempted to detect lock holder preemption issue.  		 */ -		if (!owner->on_cpu || need_resched() || -				vcpu_is_preempted(task_cpu(owner))) { +		if (!owner_on_cpu(owner) || need_resched()) {  			ret = false;  			break;  		} @@ -403,14 +402,8 @@ static inline int mutex_can_spin_on_owner(struct mutex *lock)  	 * structure won't go away during the spinning period.  	 */  	owner = __mutex_owner(lock); - -	/* -	 * As lock holder preemption issue, we both skip spinning if task is not -	 * on cpu or its cpu is preempted -	 */ -  	if (owner) -		retval = owner->on_cpu && !vcpu_is_preempted(task_cpu(owner)); +		retval = owner_on_cpu(owner);  	/*  	 * If lock->owner is not set, the mutex has been released. Return true |