aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sched_rt.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/sched_rt.c')
-rw-r--r--kernel/sched_rt.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c
index b591b89710a4..1a2d8f0aa659 100644
--- a/kernel/sched_rt.c
+++ b/kernel/sched_rt.c
@@ -4,16 +4,24 @@
4 */ 4 */
5 5
6#ifdef CONFIG_SMP 6#ifdef CONFIG_SMP
7
8/*
9 * The "RT overload" flag: it gets set if a CPU has more than
10 * one runnable RT task.
11 */
7static cpumask_t rt_overload_mask; 12static cpumask_t rt_overload_mask;
8static atomic_t rto_count; 13static atomic_t rto_count;
14
9static inline int rt_overloaded(void) 15static inline int rt_overloaded(void)
10{ 16{
11 return atomic_read(&rto_count); 17 return atomic_read(&rto_count);
12} 18}
19
13static inline cpumask_t *rt_overload(void) 20static inline cpumask_t *rt_overload(void)
14{ 21{
15 return &rt_overload_mask; 22 return &rt_overload_mask;
16} 23}
24
17static inline void rt_set_overload(struct rq *rq) 25static inline void rt_set_overload(struct rq *rq)
18{ 26{
19 rq->rt.overloaded = 1; 27 rq->rt.overloaded = 1;
@@ -28,6 +36,7 @@ static inline void rt_set_overload(struct rq *rq)
28 wmb(); 36 wmb();
29 atomic_inc(&rto_count); 37 atomic_inc(&rto_count);
30} 38}
39
31static inline void rt_clear_overload(struct rq *rq) 40static inline void rt_clear_overload(struct rq *rq)
32{ 41{
33 /* the order here really doesn't matter */ 42 /* the order here really doesn't matter */