]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blob - src/patches/suse-2.6.27.25/patches.kabi/sched-kabi-compat-hack.patch
Updated xen patches taken from suse.
[people/teissler/ipfire-2.x.git] / src / patches / suse-2.6.27.25 / patches.kabi / sched-kabi-compat-hack.patch
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