Une rupture subtile est pire qu'une rupture franche...
背景
-
J'ai déjà désactivé la suspension dans Paramètres système -> Alimentation.
-
L'option "Suspension" apparaît toujours dans le menu de l'engrenage (je ne m'attendais pas à ce qu'elle disparaisse), et la touche "sleep" (lune) de mon clavier déclenche toujours la suspension.
-
Les options du point 1 sont, comme d'autres l'ont souligné, trop faciles à utiliser par erreur une fois par mois ou presque.
-
Il semble que 1% des plateformes réussissent à suspendre correctement, parce qu'un ingénieur pilote quelque part a oublié de vérifier que le registre X de l'espace PCIe ou IO est restauré au moment du réveil. C'est donc pire que cassé : tout a l'air d'aller bien après le réveil, mais ce n'est pas le cas. Et avec un peu de chance, aucun de ces registres corrompus n'affecte la fiabilité de manière rampante, comme la configuration ECC ou la profondeur de la FIFO de stockage. Mais c'est généralement le cas, sous une forme ou une autre, ce qui explique, par exemple, pourquoi les errata contre les pilotes graphiques se poursuivent à l'infini, des années après leur lancement sur le marché ("la puce graphique X se bloque une heure après avoir été suspendue, bla bla bla").
-
Il devrait y avoir un test automatisé pour voir quels registres changent au cours d'un cycle de sommeil, mais peu de fournisseurs disposent d'un tel test. Le test est quelque peu compliqué par le fait que l'on s'attend à ce que certains registres changent, comme les temporisateurs. Pire encore, il faut parfois lire les registres dans un certain ordre ou avec une granularité particulière, ou en écrivant d'abord un index de lecture ailleurs. Ce processus ne peut donc pas être centralisé dans un endroit pratique de l'industrie, comme les bureaux de Canonical. C'est vraiment sans espoir, à moins que PCIe ne soit redéfini de manière à faciliter la comparaison, ce qui ne sera pas le cas.
-
La suite de tests magique du point 5 ne sera jamais écrite en raison de l'état chaotique du développement des pilotes. C'est pourquoi, en l'absence de cela, je pose la question suivante.
-
Je suis tellement désespéré que ça ne me dérange pas de pirater le fichier /etc/whatever_suspend_file, mais ce serait bien s'il y avait une façon "polie" de le faire, comme cette case à cocher inexistante dans System Settings -> Power qui dit "Permanently disable suspend because it was ill-conceived from day one".
-
NB : Je ne parle pas ici de l'hibernation, qui ne devrait pas souffrir des problèmes susmentionnés puisqu'elle implique un cycle d'alimentation. Bien qu'en principe, la restauration de registres à partir d'un stockage permanent puisse poser des problèmes similaires.