---
name: "sched_get_priority_max"
section: "2"
platform: "linux"
package: "man-pages"
version: "6.19-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/sched_get_priority_max"
---

# sched\_get\_priority\_max(2)

get static priority range

## NAME

sched\_get\_priority\_max, sched\_get\_priority\_min  - get static priority range

## LIBRARY

Standard C library (*libc*, *-lc*)

## SYNOPSIS

```
#include <sched.h>
```

**int sched\_get\_priority\_max(int** *policy***);** **int sched\_get\_priority\_min(int** *policy***);**

## DESCRIPTION

**sched\_get\_priority\_max**() returns the maximum priority value that can be used with the scheduling algorithm identified by *policy*. **sched\_get\_priority\_min**() returns the minimum priority value that can be used with the scheduling algorithm identified by *policy*. Supported *policy* values are **SCHED\_FIFO**, **SCHED\_RR**, **SCHED\_OTHER**, **SCHED\_BATCH**, **SCHED\_IDLE**, and **SCHED\_DEADLINE**. Further details about these policies can be found in [**sched**(7)](/sched/7.md).

Processes with numerically higher priority values are scheduled before processes with numerically lower priority values. Thus, the value returned by **sched\_get\_priority\_max**() will be greater than the value returned by **sched\_get\_priority\_min**().

Linux allows the static priority range 1 to 99 for the **SCHED\_FIFO** and **SCHED\_RR** policies, and the priority 0 for the remaining policies. Scheduling priority ranges for the various policies are not alterable.

The range of scheduling priorities may vary on other POSIX systems, thus it is a good idea for portable applications to use a virtual priority range and map it to the interval given by **sched\_get\_priority\_max**() and **sched\_get\_priority\_min**(). POSIX.1 requires a spread of at least 32 between the maximum and the minimum values for **SCHED\_FIFO** and **SCHED\_RR**.

POSIX systems on which **sched\_get\_priority\_max**() and **sched\_get\_priority\_min**() are available define **\_POSIX\_PRIORITY\_SCHEDULING** in *\<unistd.h\>*.

## RETURN VALUE

On success, **sched\_get\_priority\_max**() and **sched\_get\_priority\_min**() return the maximum/minimum priority value for the named scheduling policy. On error, -1 is returned, and *errno* is set to indicate the error.

## ERRORS

- **EINVAL**

  The argument *policy* does not identify a defined scheduling policy.

## STANDARDS

POSIX.1-2024.

## HISTORY

POSIX.1-2001.

## SEE ALSO

[**sched\_getaffinity**(2)](/sched_getaffinity/2.md), [**sched\_getparam**(2)](/sched_getparam/2.md), [**sched\_getscheduler**(2)](/sched_getscheduler/2.md), [**sched\_setaffinity**(2)](/sched_setaffinity/2.md), [**sched\_setparam**(2)](/sched_setparam/2.md), [**sched\_setscheduler**(2)](/sched_setscheduler/2.md), [**sched**(7)](/sched/7.md)
