0

L1/L2 キャッシュを介して Core Duo システムの RAM ロケーションに書き込んでいるとします。

RAM の永続的な場所に書き込みを行い、その後すぐに Linux カーネルをパニックに陥れるとします。この場所は永続的であるため、CPU の再起動中に再起動されることはなく、再起動後に取得されます。

Linux は再起動/パニックの一部として CPU キャッシュをフラッシュしますか?

CPU は再起動する前にキャッシュをフラッシュしますか?

または、手動で行う必要がありますか?どのように?

更新: 私のキャッシュはライトスルーではありません。

問題は、CPU 仕様でこの動作が定義されているかどうかです。

4

3 に答える 3

1

おそらくこれを行う最も適切な方法は、永続的な場所を含むページをキャッシュ不可としてマークすることです。そうすれば、永続的な場所への書き込みは常にキャッシュをバイパスします (実質的にライトスルー)。もちろん、とにかくキャッシュがライトスルーである可能性があるため、これは冗長である可能性があります-最初にこれを確認する必要があります.

于 2010-12-03T16:00:10.990 に答える
0

コンピューターの状態を診断してダンプするには、ユーザー、システム エンジニア、または IT サポート担当者がシステム診断またはデバッガーを実行する必要があるため、キャッシュがフラッシュされない場合があります。起動時にキャッシュがフラッシュされるかどうかは、イベントで使用されているオペレーティング システム、プログラミング言語、およびアプリケーションの種類とバージョンによって異なります。起動時に (任意の BIOS から) 選択可能なオプションである可能性がありますが、電源投入時に初期化される可能性がありますが、使用可能な場合はウォーム再起動時に必ずしも初期化されるとは限りません。

于 2010-12-03T15:59:23.063 に答える
0

これは便利かもしれません:) http://lxr.linux.no/#linux+v2.6.30/arch/x86/kernel/reboot.c

于 2010-12-03T16:02:00.483 に答える