posix_madvise(3)

NOM
posix_madvise - Donner des indices sur les tendances de l'utilisation mémoire

BIBLIOTHÈQUE
Bibliothèque C standard (libc, -lc)

SYNOPSIS
#include <sys/mman.h>

int posix_madvise(void addr[.size], size_t size, int advice);

    Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros(7)) :

posix_madvise() :
    _POSIX_C_SOURCE >= 200112L

DESCRIPTION
The posix_madvise() function allows an application to advise the system about its expected patterns of usage of memory in the address range starting at addr and continuing for size bytes. The system is free to use this advice in order to improve the performance of memory accesses (or to ignore the advice altogether), but calling posix_madvise() shall not affect the semantics of access to memory in the specified range.

L'argument advice contient une des valeurs suivantes :

POSIX_MADV_NORMAL
    L'application n'a pas d'indice particulier concernant les tendances d'utilisation mémoire pour la plage d'adresses spécifiée. C'est le comportement par défaut.

POSIX_MADV_SEQUENTIAL
    L'application prévoit d'accéder séquentiellement à la plage d'adresses spécifiée, des adresses basses aux adresses hautes. Par conséquent, les pages de cette région peuvent être systématiquement lues par anticipation et peuvent être libérées rapidement après avoir été accédées.

POSIX_MADV_RANDOM
    L'application prévoit d'accéder aléatoirement à la plage d'adresses spécifiée. Ainsi, la lecture anticipée sera moins utile qu'elle ne l'est en général.

POSIX_MADV_WILLNEED
    L'application prévoit d'accéder prochainement à la plage d'adresses spécifiée. Ainsi, la lecture anticipée peut être bénéfique.

POSIX_MADV_DONTNEED
    L'application ne prévoit pas d'accéder dans un futur proche à la plage d'adresses spécifiée.

VALEUR RENVOYÉE
En cas de succès, posix_madvise() renvoie zéro. En cas d'erreur, un code d'erreur positif est renvoyé.

ERREURS

EINVAL
    addr is not a multiple of the system page size or size is negative.

EINVAL
    advice n'est pas valable.

ENOMEM
    Les adresses de l'intervalle spécifié sont partiellement ou entièrement en dehors de l'espace d'adressage du processus appelant.

VERSIONS
POSIX.1 permits an implementation to generate an error if size is 0. On Linux, specifying size as 0 is permitted (as a successful no-op).

Dans la glibc, cette fonction est implémentée en utilisant madvise(2). Cependant, depuis la glibc 2.6, POSIX_MADV_DONTNEED est traitée comme une opération vide parce que la valeur de madvise(2) correspondante, MADV_DONTNEED, a une sémantique destructrice.

STANDARDS
POSIX.1-2008.

HISTORIQUE
glibc 2.2. POSIX.1-2001.

VOIR AUSSI
madvise(2), posix_fadvise(2)

TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Grégoire Scano <gregoire.scano@malloc.fr>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.