__PPC_SET_PPR_MED(3)

ИМЯ
__ppc_set_ppr_med, __ppc_set_ppr_very_low, __ppc_set_ppr_low, __ppc_set_ppr_med_low, __ppc_set_ppr_med_high - изменяет регистр приоритета программы

ОБЗОР
#include <sys/platform/ppc.h>

void __ppc_set_ppr_med(void);
void __ppc_set_ppr_very_low(void);
void __ppc_set_ppr_low(void);
void __ppc_set_ppr_med_low(void);
void __ppc_set_ppr_med_high(void);

ОПИСАНИЕ
Эти функции предоставляют доступ к Program Priority Register (PPR, регистру приоритета программы) архитектуры Power.

PPR — это 64-битный регистр, которой управляет приоритетом программы. Изменяя значение PPR, программист может улучшить системную производительность, сделав использование системных ресурсов более эффективным, особенно в ситуациях конкурентного доступа. Доступные непривилегированные состояния достигаются следующими функциями:

*   Функция __ppc_set_ppr_med() устанавливает регистр приоритета программы равным среднему значению (по умолчанию).

*   Функция __ppc_set_ppr_very_low() устанавливает регистр приоритета программы равным очень низкому значению.

*   Функция __ppc_set_ppr_low() устанавливает регистр приоритета программы равным низкому значению.

*   Функция __ppc_set_ppr_med_low() устанавливает регистр приоритета программы равным значению ниже среднего.

Привилегированное состояние выше среднего также может быть установлено на определённые временные интервалы (непривилегированными) программами в режиме задачи (problem-state) следующей функцией:

*   Функция __ppc_set_ppr_med_high() устанавливает регистр приоритета программы равным значению выше среднего.

Если приоритет программы выше среднего и истёк временной интервал или если выполняется попытка назначить приоритет выше среднего в неразрешённый момент, то приоритет устанавливается в среднее значение.

ВЕРСИИ
Функции __ppc_set_ppr_med(), __ppc_set_ppr_low() и __ppc_set_ppr_med_low() имеются в glibc начиная с версии 2.18. Функции __ppc_set_ppr_very_low() и __ppc_set_ppr_med_high() впервые появились в glibc в версии 2.23.

АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).
Интерфейс | Атрибут | Значение
__ppc_set_ppr_med(), __ppc_set_ppr_very_low(), __ppc_set_ppr_low(), __ppc_set_ppr_med_low(), __ppc_set_ppr_med_high() | Безвредность в нитях | MT-Safe

СООТВЕТСТВИЕ СТАНДАРТАМ
Эти функции являются расширениями GNU.

ЗАМЕЧАНИЯ
Функции __ppc_set_ppr_very_low() и __ppc_set_ppr_med_high() будут определены из <sys/platform/ppc.h>, если определён _ARCH_PWR8. Доступность этих функций можно проверить с помощью #ifdef _ARCH_PWR8.

СМОТРИТЕ ТАКЖЕ
__ppc_yield(3)

Power ISA, Book II - Section 3.1 (Program Priority Registers)