Contents of /trunk/kernel26-magellan/patches-2.6.21-r1/0003-2.6.21-sched-range.patch
Parent Directory | Revision Log
Revision 196 -
(show annotations)
(download)
Thu May 17 23:20:52 2007 UTC (16 years, 11 months ago) by niro
File size: 1724 byte(s)
Thu May 17 23:20:52 2007 UTC (16 years, 11 months ago) by niro
File size: 1724 byte(s)
-ver bump to 2.6.21-r1 using: -linux-2.6.21.1 -2.6.21-ck2 patchset -fbsplash-0.9.2-r5 -vesafb-tng-1.0-rc2 -squashfs-3.2-r2 -unionfs-2.0-u2 -suspend2-2.2.9.17 -linux-phc-0.2.10 -acpi-dsdt-0.8.4 -fuse-2.6.5 -reiser4-mm -nvidia-drivers-1.0.9755 -ati-drivers-8.36.5 -ipw3945-1.2.1 - added a fix for sis900 oops on linux-2.6.21
1 | 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 |