Selon Frédéric Mantegazza <mantegazza@???>:
> Est-ce que le suspend-to-disk est aussi un truc soft, comme swsusp ? La
> partition sur laquelle il sauvegarde tout ça dépend-elle du portable (je
> parle du type, comme celles utilisées par DELL) ? Est-ce que ça utilise le
> BIOS ?
Les deux mécanismes sont issus des mêmes principes. Ils sont tous deux
100 % logiciels.
> Y a-t-il autant de limitations que le software suspend ? Car ça ne me parait
> pas encore utilisable, vu le nombre de choses qui ne fonctionnent pas :
>
> DRI support is lacking power management support under 2.4 & 2.6.
> AGP support under 2.6 is partially implemented.
> USB support under 2.4 and 2.6 is lacking.
> SMP support is currently 2.4 only.
> Other drivers have varying degrees of power management support.
> There is currently no support for discontig memory.
> Suspend currently requires the PSE extension (check /proc/cpuinfo).
> Highmem > 4GB is currently not supported.
> SMP currently suffers from lost interrupts during resuming.
> 2.6 does not currently flush caches properly before powering down.
Tu me les apprends. Ce n'est pas parce que le power management n'est pas
"complètement" géré dans le kernel que le software suspend / suspend-to-disk
ne "fonctionne" pas.
La seule chose que l'on demande au kernel est de sauvegarder l'état des
périphériques et le restaurer. Le script hibernate de software suspend
contourne les problèmes de X11 en basculant sur une console de log au suspend
et en retour sur la console d'appel ensuite.
Mon portable n'est pas un bi-pro, la mémoire est continue et je suis loin des
4 GB, les caches disques sont flushés par hibernate avec la commande hdparm
adéquate, les services hotplug/USB/pcmcia sont arrêtés et redémarrés par ce
même script.
En bref, le kernel ne sait pas tout faire mais un bon script peut lui demander
de faire ce qu'il faut ;)
Comme je l'ai dit dans mon précédent mail - j'ai de la chance ça marche -
j'ai des backups donc je ne crains pas grand chose sauf de perdre mon temps
mais j'aime le risque ;) Sincèrement cela fait 14 mois que j'utilise ce
mécanisme. Il arrive bien de temps en temps un freeze lors du 'resume' mais
c'est rare.
> Dans mon BIOS DELL, il y a une option pour faire un S2D en cas d'inactivité.
> Quel option du noyau et/ou soft faut-il pour utiliser le S2D du bios ?
> J'avoue être un peu perdu...
Si tu préfères cette option, il faut lire la documentation chez DELL. Tu dois
disposer d'un outil pour un autre système qui te permet d'initialiser une
partition d'hibernation que le BIOS détectera - il y a surement des règles
à suivre - voir doc.
Cette partion doit pouvoir contenir la totalité de la RAM non compressée.
Ensuite, il faut pouvoir demander au BIOS de suspendre (raccourcis clavier
spéciaux ou une commande echo s4bios > /proc/acpi/sleep ?)
et il faut aussi rendre le kernel conscient du 'resume',
voir ce que fait hibernate pour savoir quoi faire:
- re-charger l'horloge hard dans le système
- re-détecter l'état du réseau
- re-détecter l'USB, PCMCIA,
- raffraichir l'état de la vidéo par XFree...
A priori, rien n'est spécifique au kernel dans ce cas. Et il est possible que
ton démon ACPI reçoive un évémenent à l'issue du resume pour exécuter qq
chose.
Retour à ma conclusion: c'est encore la jungle et
ce n'est pas vraiment du niveau "production".
A+
--
Yves Martin