Add SCHED_RANGE and SCHED_RT wrappers for easy policy management. Signed-off-by: Con Kolivas include/linux/sched.h | 6 +++++- kernel/sched.c | 3 +-- 2 files changed, 6 insertions(+), 3 deletions(-) Index: linux-2.6.21-ck2/include/linux/sched.h =================================================================== --- linux-2.6.21-ck2.orig/include/linux/sched.h 2007-05-14 19:30:30.000000000 +1000 +++ linux-2.6.21-ck2/include/linux/sched.h 2007-05-14 19:30:30.000000000 +1000 @@ -37,6 +37,9 @@ #ifdef __KERNEL__ +#define SCHED_MAX SCHED_BATCH +#define SCHED_RANGE(policy) ((policy) <= SCHED_MAX) + struct sched_param { int sched_priority; }; @@ -528,7 +531,8 @@ struct signal_struct { #define rt_prio(prio) unlikely((prio) < MAX_RT_PRIO) #define rt_task(p) rt_prio((p)->prio) #define batch_task(p) (unlikely((p)->policy == SCHED_BATCH)) -#define is_rt_policy(p) ((p) != SCHED_NORMAL && (p) != SCHED_BATCH) +#define is_rt_policy(policy) ((policy) == SCHED_FIFO || \ + (policy) == SCHED_RR) #define has_rt_policy(p) unlikely(is_rt_policy((p)->policy)) /* Index: linux-2.6.21-ck2/kernel/sched.c =================================================================== --- linux-2.6.21-ck2.orig/kernel/sched.c 2007-05-14 19:30:30.000000000 +1000 +++ linux-2.6.21-ck2/kernel/sched.c 2007-05-14 19:30:30.000000000 +1000 @@ -4052,8 +4052,7 @@ recheck: /* double check policy once rq lock held */ if (policy < 0) policy = oldpolicy = p->policy; - else if (policy != SCHED_FIFO && policy != SCHED_RR && - policy != SCHED_NORMAL && policy != SCHED_BATCH) + else if (!SCHED_RANGE(policy)) return -EINVAL; /* * Valid priorities for SCHED_FIFO and SCHED_RR are