POSIX_MADVISE(3) | Руководство программиста Linux | POSIX_MADVISE(3) |
posix_madvise - отсылает предложения по шаблонам использования памяти
#include <sys/mman.h>
int posix_madvise(void *addr, size_t len, int advice);
Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):
posix_madvise():
Функция posix_madvise() позволяет приложению показывать системе свои ожидания при использовании памяти в диапазоне начиная с адреса addr и длиной len байт. Система может использовать это предложение для улучшения производительности доступа к памяти (или игнорировать), но вызов posix_madvise() не повлияет на семантику доступа к памяти в указанном диапазоне.
В аргументе advice указывается одно из следующих значений:
При успешном выполнении posix_madvise() возвращает 0. При ошибке возвращается положительный номер ошибки.
Поддержка posix_madvise() появилась в glibc 2.2.
POSIX.1-2001.
В POSIX.1 допускается, что реализация генерирует ошибку, если len равно 0. В Linux допустимо значение len равное 0 (ничего не делается).
В glibc эта функция реализована через вызов madvise(2). Однако, начиная с glibc 2.6, POSIX_MADV_DONTNEED для ничего не делается, так как соответствующее значение в madvise(2), MADV_DONTNEED, имеет разрушительную семантику.
2017-09-15 | Linux |