微妙に壊れているのは、率直に壊れているよりも悪い...
バックグラウンド:
システム設定->電源でサスペンドをすでに無効にしています。
「サスペンド」オプションはまだギアメニューに表示され(消えるとは思っていませんでした)、キーボードのスリープ(月)ボタンがサスペンドをトリガーします。
#1のオプションは、他の人が指摘しているように、毎月1回程度誤ってヒットするのは簡単すぎます。
一部のドライバーエンジニアは、スリープ解除時にPCIeまたはIOスペースレジスタXが復元されることを確認するのを忘れていたため、プラットフォームの1%が正しくサスペンドしたようです。壊れているよりも悪いのです。通常、目を覚ますとすべてが正常に見えますが、そうではありません。そして、うまくいけば、これらの破損したレジスターのいずれも、ECC構成やストレージFIFOの深さのような忍び寄る方法で信頼性に影響を与えません。しかし、彼らは通常、何らかの形でそれを行います。これが理由の1つです。たとえば、グラフィックスドライバーに対するエラッタが市場に登場してから何年も続く理由です。 )。
スリープサイクル全体でどのレジスタが変化するかを確認する自動テストが必要ですが、そのようなテストを行っているベンダーはほとんどありません。タイマーなど、一部のレジスタが変更されることが予想されるという事実により、テストはやや複雑になります。さらに悪いことには、特定の順序で、または特定の粒度で、または最初に別の場所に読み取りインデックスを書き込むことで、レジスタを読み取る必要がある場合があります。そのため、このプロセスは、Canonicalのオフィスのような業界の便利な場所に集中することはできません。比較が容易になるような方法でPCIeが再定義されない限り、これは本当にそして本当に絶望的です。
#5の魔法のテストスイートは、ドライバー開発の混乱状態のために記述されることはありません。したがって、それがない場合、私の質問です。
/ etc / whatever_suspend_fileのハッキングを気にかけないほど必死ですが、これを行うための「丁寧な」方法があればいいと思います。たとえば、システム設定の存在しないチェックボックス->「永久に無効にする」という電源初日からよく考えられていなかったので停止してください。」
注意:ここでは冬眠については話していないが、電源の入れ直しを伴うため、上記の問題に悩まされるべきではない。原則として、永続的なストレージからレジスタを復元すると、同様の問題が発生する可能性があります。