Skip to content

Commit

Permalink
sched: Convert cpupri lock to raw_spinlock
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Thomas Gleixner committed Dec 14, 2009
1 parent 0986b11 commit fe84122
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 6 deletions.
10 changes: 5 additions & 5 deletions kernel/sched_cpupri.c
Original file line number Diff line number Diff line change
Expand Up @@ -135,26 +135,26 @@ void cpupri_set(struct cpupri *cp, int cpu, int newpri)
if (likely(newpri != CPUPRI_INVALID)) {
struct cpupri_vec *vec = &cp->pri_to_cpu[newpri];

spin_lock_irqsave(&vec->lock, flags);
raw_spin_lock_irqsave(&vec->lock, flags);

cpumask_set_cpu(cpu, vec->mask);
vec->count++;
if (vec->count == 1)
set_bit(newpri, cp->pri_active);

spin_unlock_irqrestore(&vec->lock, flags);
raw_spin_unlock_irqrestore(&vec->lock, flags);
}
if (likely(oldpri != CPUPRI_INVALID)) {
struct cpupri_vec *vec = &cp->pri_to_cpu[oldpri];

spin_lock_irqsave(&vec->lock, flags);
raw_spin_lock_irqsave(&vec->lock, flags);

vec->count--;
if (!vec->count)
clear_bit(oldpri, cp->pri_active);
cpumask_clear_cpu(cpu, vec->mask);

spin_unlock_irqrestore(&vec->lock, flags);
raw_spin_unlock_irqrestore(&vec->lock, flags);
}

*currpri = newpri;
Expand All @@ -180,7 +180,7 @@ int cpupri_init(struct cpupri *cp, bool bootmem)
for (i = 0; i < CPUPRI_NR_PRIORITIES; i++) {
struct cpupri_vec *vec = &cp->pri_to_cpu[i];

spin_lock_init(&vec->lock);
raw_spin_lock_init(&vec->lock);
vec->count = 0;
if (!zalloc_cpumask_var(&vec->mask, gfp))
goto cleanup;
Expand Down
2 changes: 1 addition & 1 deletion kernel/sched_cpupri.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
/* values 2-101 are RT priorities 0-99 */

struct cpupri_vec {
spinlock_t lock;
raw_spinlock_t lock;
int count;
cpumask_var_t mask;
};
Expand Down

0 comments on commit fe84122

Please sign in to comment.