factor out priorities for workqueue.h and sched.h From: Clark Williams This fixes a circular dependency between sched.h and workqueue.h by factoring out the common defines to a new header which is included by both Signed-off-by: Clark Williams --- include/linux/sched.h | 19 +------------------ include/linux/sched_prio.h | 23 +++++++++++++++++++++++ include/linux/workqueue.h | 1 + 3 files changed, 25 insertions(+), 18 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h index 42deb55..b7ab7ca 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1428,24 +1428,7 @@ struct task_struct { # define set_printk_might_sleep(x) do { } while(0) #endif -/* - * Priority of a process goes from 0..MAX_PRIO-1, valid RT - * priority is 0..MAX_RT_PRIO-1, and SCHED_NORMAL/SCHED_BATCH - * tasks are in the range MAX_RT_PRIO..MAX_PRIO-1. Priority - * values are inverted: lower p->prio value means higher priority. - * - * The MAX_USER_RT_PRIO value allows the actual maximum - * RT priority to be separate from the value exported to - * user-space. This allows kernel threads to set their - * priority to a value higher than any user task. Note: - * MAX_RT_PRIO must not be smaller than MAX_USER_RT_PRIO. - */ - -#define MAX_USER_RT_PRIO 100 -#define MAX_RT_PRIO MAX_USER_RT_PRIO - -#define MAX_PRIO (MAX_RT_PRIO + 40) -#define DEFAULT_PRIO (MAX_RT_PRIO + 20) +#include static inline int rt_prio(int prio) { diff --git a/include/linux/sched_prio.h b/include/linux/sched_prio.h new file mode 100644 index 0000000..ec5114a --- /dev/null +++ b/include/linux/sched_prio.h @@ -0,0 +1,23 @@ +#ifndef __SCHED_PRIO_H +#define __SCHED_PRIO_H + +/* + * Priority of a process goes from 0..MAX_PRIO-1, valid RT + * priority is 0..MAX_RT_PRIO-1, and SCHED_NORMAL/SCHED_BATCH + * tasks are in the range MAX_RT_PRIO..MAX_PRIO-1. Priority + * values are inverted: lower p->prio value means higher priority. + * + * The MAX_USER_RT_PRIO value allows the actual maximum + * RT priority to be separate from the value exported to + * user-space. This allows kernel threads to set their + * priority to a value higher than any user task. Note: + * MAX_RT_PRIO must not be smaller than MAX_USER_RT_PRIO. + */ + +#define MAX_USER_RT_PRIO 100 +#define MAX_RT_PRIO MAX_USER_RT_PRIO + +#define MAX_PRIO (MAX_RT_PRIO + 40) +#define DEFAULT_PRIO (MAX_RT_PRIO + 20) + +#endif diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h index fbcbec6..4ea6292 100644 --- a/include/linux/workqueue.h +++ b/include/linux/workqueue.h @@ -9,6 +9,7 @@ #include #include #include +#include #include struct workqueue_struct;