3.6. Gestion de l'alimentation des périphériques en cours d'exécution

La gestion de l'alimentation des périphériques en cours d'exécution (RDPM, de l'anglais Runtime device power management) contribue à réduire la consommation d'énergie en échange d'un impact minimum visible par l'utilisateur. Si un périphérique demeure inactif pendant un moment suffisamment long, et que le support matériel RDPM existe à la fois dans le périphérique et le pilote, le périphérique se retrouve dans un état inférieur. Le recouvrement de l'état d'alimentation inférieur est assuré par un événement E/S externe, qui amène le pilote du périphérique et le noyau à retourner à un état « en cours d'exécution ». Tout cela a lieu automatiquement, car RDPM est activé par défaut.
Les utilisateurs sont autorisés à contrôler RDPM sur un périphérique en configurant l'attribut dans un fichier spécial. Les fichiers de configuration de périphériques particuliers se trouvent dans le répertoire /sys/devices/device/power/, où device remplace le chemin qui mène au répertoire d'un périphérique particulier.
Ainsi, pour configurer le RDPM d'un CPU, accéder au répertoire suivant :
/sys/devices/system/cpu/power/
Le fait de ramener un périphérique d'un état d'alimentation inférieur à l'état d'éxécution en cours ajoute une latence supplémentaire à l'opération e/s suivante. La durée de ce délai supplémentaire est spécifique au périphérique. Le schéma de configuration décrit ici permet à l'administrateur système de désactiver RDPM sur une base périphérique par périphérique et à la fois d'examiner et de contrôler certains des autres paramètres. Chaque répertoire /sys/devices/device/power contient les fichiers de configuration suivants :

control

Ce fichier est utilisé pour activer ou désactiver RDPM pour un périphérique donné. Tous les périphériques ont une des deux valeurs suivantes pour l'attribut dans le fichier control :

auto
valeur par défaut pour tous les périphériques, qui peuvent être en RDPM automatique, suivant le pilote
on
empêche le pilote de gérer l'état d'alimentation du périphérique en cours d'exécution

autosuspend_delay_ms

Ce fichier contrôle auto-suspend, qui est la période minimale d'inactivité entre l'état inactif et la mise en attente du périphérique. Le fichier contient la valeur de délai de suspension automatique en millisecondes. Une valeur négative empêche le périphérique d'être mis en attente en cours d'exécution, ce qui a le même effet que de définir l'attribut du fichier /sys/devices/device/power/control à on. Les valeurs supérieures à 1000 secondes sont arrondies à la seconde la plus proche.