root/include/linux/sched/prio.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. nice_to_rlimit
  2. rlimit_to_nice

   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  * The MAX_USER_RT_PRIO value allows the actual maximum
  16  * RT priority to be separate from the value exported to
  17  * user-space.  This allows kernel threads to set their
  18  * priority to a value higher than any user task. Note:
  19  * MAX_RT_PRIO must not be smaller than MAX_USER_RT_PRIO.
  20  */
  21 
  22 #define MAX_USER_RT_PRIO        100
  23 #define MAX_RT_PRIO             MAX_USER_RT_PRIO
  24 
  25 #define MAX_PRIO                (MAX_RT_PRIO + NICE_WIDTH)
  26 #define DEFAULT_PRIO            (MAX_RT_PRIO + NICE_WIDTH / 2)
  27 
  28 /*
  29  * Convert user-nice values [ -20 ... 0 ... 19 ]
  30  * to static priority [ MAX_RT_PRIO..MAX_PRIO-1 ],
  31  * and back.
  32  */
  33 #define NICE_TO_PRIO(nice)      ((nice) + DEFAULT_PRIO)
  34 #define PRIO_TO_NICE(prio)      ((prio) - DEFAULT_PRIO)
  35 
  36 /*
  37  * 'User priority' is the nice value converted to something we
  38  * can work with better when scaling various scheduler parameters,
  39  * it's a [ 0 ... 39 ] range.
  40  */
  41 #define USER_PRIO(p)            ((p)-MAX_RT_PRIO)
  42 #define TASK_USER_PRIO(p)       USER_PRIO((p)->static_prio)
  43 #define MAX_USER_PRIO           (USER_PRIO(MAX_PRIO))
  44 
  45 /*
  46  * Convert nice value [19,-20] to rlimit style value [1,40].
  47  */
  48 static inline long nice_to_rlimit(long nice)
  49 {
  50         return (MAX_NICE - nice + 1);
  51 }
  52 
  53 /*
  54  * Convert rlimit style value [1,40] to nice value [-20, 19].
  55  */
  56 static inline long rlimit_to_nice(long prio)
  57 {
  58         return (MAX_NICE - prio + 1);
  59 }
  60 
  61 #endif /* _LINUX_SCHED_PRIO_H */

/* [<][>][^][v][top][bottom][index][help] */