]>
Commit | Line | Data |
---|---|---|
00e5a55c BS |
1 | Subject: sched: leave RT_GROUP_SCHED structure components intact to preserve kABI |
2 | ||
3 | From: Gregory Haskins <ghaskins@novell.com> | |
4 | ||
5 | We have already commited to a kABI which includes components from | |
6 | RT_GROUP_SCHED. However, that feature has been found to be broken | |
7 | so we shouldnt ship with it on. The best short term solution may be | |
8 | to hack structure components back in (while leaving the actual code | |
9 | disabled) to preserve compatibility. | |
10 | ||
11 | Signed-off-by: Gregory Haskins <ghaskins@novell.com> | |
12 | --- | |
13 | ||
14 | include/linux/sched.h | 3 +-- | |
15 | kernel/sched.c | 7 +------ | |
16 | 2 files changed, 2 insertions(+), 8 deletions(-) | |
17 | ||
18 | ||
19 | --- a/include/linux/sched.h | |
20 | +++ b/include/linux/sched.h | |
21 | @@ -1021,13 +1021,12 @@ struct sched_rt_entity { | |
22 | int nr_cpus_allowed; | |
23 | ||
24 | struct sched_rt_entity *back; | |
25 | -#ifdef CONFIG_RT_GROUP_SCHED | |
26 | + | |
27 | struct sched_rt_entity *parent; | |
28 | /* rq on which this entity is (to be) queued: */ | |
29 | struct rt_rq *rt_rq; | |
30 | /* rq "owned" by this entity/group: */ | |
31 | struct rt_rq *my_q; | |
32 | -#endif | |
33 | }; | |
34 | ||
35 | struct task_struct { | |
36 | --- a/kernel/sched.c | |
37 | +++ b/kernel/sched.c | |
38 | @@ -263,12 +263,10 @@ struct task_group { | |
39 | unsigned long shares; | |
40 | #endif | |
41 | ||
42 | -#ifdef CONFIG_RT_GROUP_SCHED | |
43 | struct sched_rt_entity **rt_se; | |
44 | struct rt_rq **rt_rq; | |
45 | ||
46 | struct rt_bandwidth rt_bandwidth; | |
47 | -#endif | |
48 | ||
49 | struct rcu_head rcu; | |
50 | struct list_head list; | |
51 | @@ -454,14 +452,12 @@ struct rt_rq { | |
52 | /* Nests inside the rq lock: */ | |
53 | spinlock_t rt_runtime_lock; | |
54 | ||
55 | -#ifdef CONFIG_RT_GROUP_SCHED | |
56 | unsigned long rt_nr_boosted; | |
57 | ||
58 | struct rq *rq; | |
59 | struct list_head leaf_rt_rq_list; | |
60 | struct task_group *tg; | |
61 | struct sched_rt_entity *rt_se; | |
62 | -#endif | |
63 | }; | |
64 | ||
65 | #ifdef CONFIG_SMP | |
66 | @@ -533,9 +529,8 @@ struct rq { | |
67 | /* list of leaf cfs_rq on this cpu: */ | |
68 | struct list_head leaf_cfs_rq_list; | |
69 | #endif | |
70 | -#ifdef CONFIG_RT_GROUP_SCHED | |
71 | + | |
72 | struct list_head leaf_rt_rq_list; | |
73 | -#endif | |
74 | ||
75 | /* | |
76 | * This is part of a global counter where only the total sum |