]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blame - src/patches/suse-2.6.27.25/patches.kabi/sched-kabi-compat-hack.patch
Revert "Move xen patchset to new version's subdir."
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.25 / patches.kabi / sched-kabi-compat-hack.patch
CommitLineData
00e5a55c
BS
1Subject: sched: leave RT_GROUP_SCHED structure components intact to preserve kABI
2
3From: Gregory Haskins <ghaskins@novell.com>
4
5We have already commited to a kABI which includes components from
6RT_GROUP_SCHED. However, that feature has been found to be broken
7so we shouldnt ship with it on. The best short term solution may be
8to hack structure components back in (while leaving the actual code
9disabled) to preserve compatibility.
10
11Signed-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