Magellan Linux

Annotation of /trunk/kernel26-alx/patches-2.6.21-r14/0003-2.6.21-sched-range.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 447 - (hide annotations) (download)
Tue Jan 22 17:55:52 2008 UTC (16 years, 3 months ago) by niro
File size: 1724 byte(s)
-2.6.21-alx-r14 - fixed some natsemi errors on wys terminals

1 niro 447 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