Add SCHED_RANGE and SCHED_RT wrappers for easy policy management.

Signed-off-by: Con Kolivas <kernel@kolivas.org>

 include/linux/sched.h |    6 +++++-
 kernel/sched.c        |    3 +--
 2 files changed, 6 insertions(+), 3 deletions(-)

Index: linux-2.6.22-rc4-ck1/include/linux/sched.h
===================================================================
--- linux-2.6.22-rc4-ck1.orig/include/linux/sched.h	2007-06-10 21:59:53.000000000 +1000
+++ linux-2.6.22-rc4-ck1/include/linux/sched.h	2007-06-10 21:59:53.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;
 };
@@ -543,7 +546,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.22-rc4-ck1/kernel/sched.c
===================================================================
--- linux-2.6.22-rc4-ck1.orig/kernel/sched.c	2007-06-10 21:59:53.000000000 +1000
+++ linux-2.6.22-rc4-ck1/kernel/sched.c	2007-06-10 21:59:53.000000000 +1000
@@ -4292,8 +4292,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
