| 1 | /* SPDX-License-Identifier: GPL-2.0 */ | 
|---|
| 2 | #ifndef _LINUX_SCHED_PRIO_H | 
|---|
| 3 | #define _LINUX_SCHED_PRIO_H | 
|---|
| 4 |  | 
|---|
| 5 | #define MAX_NICE	19 | 
|---|
| 6 | #define MIN_NICE	-20 | 
|---|
| 7 | #define NICE_WIDTH	(MAX_NICE - MIN_NICE + 1) | 
|---|
| 8 |  | 
|---|
| 9 | /* | 
|---|
| 10 | * Priority of a process goes from 0..MAX_PRIO-1, valid RT | 
|---|
| 11 | * priority is 0..MAX_RT_PRIO-1, and SCHED_NORMAL/SCHED_BATCH | 
|---|
| 12 | * tasks are in the range MAX_RT_PRIO..MAX_PRIO-1. Priority | 
|---|
| 13 | * values are inverted: lower p->prio value means higher priority. | 
|---|
| 14 | */ | 
|---|
| 15 |  | 
|---|
| 16 | #define MAX_RT_PRIO		100 | 
|---|
| 17 | #define MAX_DL_PRIO		0 | 
|---|
| 18 |  | 
|---|
| 19 | #define MAX_PRIO		(MAX_RT_PRIO + NICE_WIDTH) | 
|---|
| 20 | #define DEFAULT_PRIO		(MAX_RT_PRIO + NICE_WIDTH / 2) | 
|---|
| 21 |  | 
|---|
| 22 | /* | 
|---|
| 23 | * Convert user-nice values [ -20 ... 0 ... 19 ] | 
|---|
| 24 | * to static priority [ MAX_RT_PRIO..MAX_PRIO-1 ], | 
|---|
| 25 | * and back. | 
|---|
| 26 | */ | 
|---|
| 27 | #define NICE_TO_PRIO(nice)	((nice) + DEFAULT_PRIO) | 
|---|
| 28 | #define PRIO_TO_NICE(prio)	((prio) - DEFAULT_PRIO) | 
|---|
| 29 |  | 
|---|
| 30 | /* | 
|---|
| 31 | * Convert nice value [19,-20] to rlimit style value [1,40]. | 
|---|
| 32 | */ | 
|---|
| 33 | static inline long nice_to_rlimit(long nice) | 
|---|
| 34 | { | 
|---|
| 35 | return (MAX_NICE - nice + 1); | 
|---|
| 36 | } | 
|---|
| 37 |  | 
|---|
| 38 | /* | 
|---|
| 39 | * Convert rlimit style value [1,40] to nice value [-20, 19]. | 
|---|
| 40 | */ | 
|---|
| 41 | static inline long rlimit_to_nice(long prio) | 
|---|
| 42 | { | 
|---|
| 43 | return (MAX_NICE - prio + 1); | 
|---|
| 44 | } | 
|---|
| 45 |  | 
|---|
| 46 | #endif /* _LINUX_SCHED_PRIO_H */ | 
|---|
| 47 |  | 
|---|