mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-20 13:41:30 +00:00
sched: Convert pi_lock to raw_spinlock
Convert locks which cannot be sleeping locks in preempt-rt to raw_spinlocks. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Peter Zijlstra <peterz@infradead.org> Acked-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
fe841226bd
commit
1d61548254
8 changed files with 61 additions and 61 deletions
|
@ -6323,7 +6323,7 @@ recheck:
|
|||
* make sure no PI-waiters arrive (or leave) while we are
|
||||
* changing the priority of the task:
|
||||
*/
|
||||
spin_lock_irqsave(&p->pi_lock, flags);
|
||||
raw_spin_lock_irqsave(&p->pi_lock, flags);
|
||||
/*
|
||||
* To be able to change p->policy safely, the apropriate
|
||||
* runqueue lock must be held.
|
||||
|
@ -6333,7 +6333,7 @@ recheck:
|
|||
if (unlikely(oldpolicy != -1 && oldpolicy != p->policy)) {
|
||||
policy = oldpolicy = -1;
|
||||
__task_rq_unlock(rq);
|
||||
spin_unlock_irqrestore(&p->pi_lock, flags);
|
||||
raw_spin_unlock_irqrestore(&p->pi_lock, flags);
|
||||
goto recheck;
|
||||
}
|
||||
update_rq_clock(rq);
|
||||
|
@ -6357,7 +6357,7 @@ recheck:
|
|||
check_class_changed(rq, p, prev_class, oldprio, running);
|
||||
}
|
||||
__task_rq_unlock(rq);
|
||||
spin_unlock_irqrestore(&p->pi_lock, flags);
|
||||
raw_spin_unlock_irqrestore(&p->pi_lock, flags);
|
||||
|
||||
rt_mutex_adjust_pi(p);
|
||||
|
||||
|
@ -9624,7 +9624,7 @@ void __init sched_init(void)
|
|||
#endif
|
||||
|
||||
#ifdef CONFIG_RT_MUTEXES
|
||||
plist_head_init(&init_task.pi_waiters, &init_task.pi_lock);
|
||||
plist_head_init_raw(&init_task.pi_waiters, &init_task.pi_lock);
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
@ -9749,13 +9749,13 @@ void normalize_rt_tasks(void)
|
|||
continue;
|
||||
}
|
||||
|
||||
spin_lock(&p->pi_lock);
|
||||
raw_spin_lock(&p->pi_lock);
|
||||
rq = __task_rq_lock(p);
|
||||
|
||||
normalize_task(rq, p);
|
||||
|
||||
__task_rq_unlock(rq);
|
||||
spin_unlock(&p->pi_lock);
|
||||
raw_spin_unlock(&p->pi_lock);
|
||||
} while_each_thread(g, p);
|
||||
|
||||
read_unlock_irqrestore(&tasklist_lock, flags);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue