Annotation of /trunk/kernel26-alx/patches-2.6.21-r15/0003-2.6.21-sched-range.patch
Parent Directory | Revision Log
Revision 464 -
(hide annotations)
(download)
Wed Feb 6 09:19:36 2008 UTC (16 years, 7 months ago) by niro
File size: 1724 byte(s)
Wed Feb 6 09:19:36 2008 UTC (16 years, 7 months ago) by niro
File size: 1724 byte(s)
-rev bump to 2.6.21-alx-r15; added i686 support
1 | niro | 464 | Add SCHED_RANGE and SCHED_RT wrappers for easy policy management. |
2 | |||
3 | Signed-off-by: Con Kolivas <kernel@kolivas.org> | ||
4 | |||
5 | include/linux/sched.h | 6 +++++- | ||
6 | kernel/sched.c | 3 +-- | ||
7 | 2 files changed, 6 insertions(+), 3 deletions(-) | ||
8 | |||
9 | Index: linux-2.6.21-ck2/include/linux/sched.h | ||
10 | =================================================================== | ||
11 | --- linux-2.6.21-ck2.orig/include/linux/sched.h 2007-05-14 19:30:30.000000000 +1000 | ||
12 | +++ linux-2.6.21-ck2/include/linux/sched.h 2007-05-14 19:30:30.000000000 +1000 | ||
13 | @@ -37,6 +37,9 @@ | ||
14 | |||
15 | #ifdef __KERNEL__ | ||
16 | |||
17 | +#define SCHED_MAX SCHED_BATCH | ||
18 | +#define SCHED_RANGE(policy) ((policy) <= SCHED_MAX) | ||
19 | + | ||
20 | struct sched_param { | ||
21 | int sched_priority; | ||
22 | }; | ||
23 | @@ -528,7 +531,8 @@ struct signal_struct { | ||
24 | #define rt_prio(prio) unlikely((prio) < MAX_RT_PRIO) | ||
25 | #define rt_task(p) rt_prio((p)->prio) | ||
26 | #define batch_task(p) (unlikely((p)->policy == SCHED_BATCH)) | ||
27 | -#define is_rt_policy(p) ((p) != SCHED_NORMAL && (p) != SCHED_BATCH) | ||
28 | +#define is_rt_policy(policy) ((policy) == SCHED_FIFO || \ | ||
29 | + (policy) == SCHED_RR) | ||
30 | #define has_rt_policy(p) unlikely(is_rt_policy((p)->policy)) | ||
31 | |||
32 | /* | ||
33 | Index: linux-2.6.21-ck2/kernel/sched.c | ||
34 | =================================================================== | ||
35 | --- linux-2.6.21-ck2.orig/kernel/sched.c 2007-05-14 19:30:30.000000000 +1000 | ||
36 | +++ linux-2.6.21-ck2/kernel/sched.c 2007-05-14 19:30:30.000000000 +1000 | ||
37 | @@ -4052,8 +4052,7 @@ recheck: | ||
38 | /* double check policy once rq lock held */ | ||
39 | if (policy < 0) | ||
40 | policy = oldpolicy = p->policy; | ||
41 | - else if (policy != SCHED_FIFO && policy != SCHED_RR && | ||
42 | - policy != SCHED_NORMAL && policy != SCHED_BATCH) | ||
43 | + else if (!SCHED_RANGE(policy)) | ||
44 | return -EINVAL; | ||
45 | /* | ||
46 | * Valid priorities for SCHED_FIFO and SCHED_RR are |