mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-12 15:44:01 +08:00
6b6350f155
Some macros in kernel/sched/sched.h about priority are private to kernel/sched. But they are useful to other parts of the core kernel. This patch moves these macros from kernel/sched/sched.h to include/linux/sched/prio.h so that they are available to other subsystems. Signed-off-by: Dongsheng Yang <yangds.fnst@cn.fujitsu.com> Cc: raistlin@linux.it Cc: juri.lelli@gmail.com Cc: clark.williams@gmail.com Cc: rostedt@goodmis.org Signed-off-by: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/2b022810905b52d13238466807f4b2a691577180.1390859827.git.yangds.fnst@cn.fujitsu.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
42 lines
1.3 KiB
C
42 lines
1.3 KiB
C
#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)
|
|
|
|
/*
|
|
* Convert user-nice values [ -20 ... 0 ... 19 ]
|
|
* to static priority [ MAX_RT_PRIO..MAX_PRIO-1 ],
|
|
* and back.
|
|
*/
|
|
#define NICE_TO_PRIO(nice) (MAX_RT_PRIO + (nice) + 20)
|
|
#define PRIO_TO_NICE(prio) ((prio) - MAX_RT_PRIO - 20)
|
|
#define TASK_NICE(p) PRIO_TO_NICE((p)->static_prio)
|
|
|
|
/*
|
|
* 'User priority' is the nice value converted to something we
|
|
* can work with better when scaling various scheduler parameters,
|
|
* it's a [ 0 ... 39 ] range.
|
|
*/
|
|
#define USER_PRIO(p) ((p)-MAX_RT_PRIO)
|
|
#define TASK_USER_PRIO(p) USER_PRIO((p)->static_prio)
|
|
#define MAX_USER_PRIO (USER_PRIO(MAX_PRIO))
|
|
|
|
#endif /* _SCHED_PRIO_H */
|