問題タブ [msr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
file - sysfs ファイルを読み取れません
sysfs ファイルを読み取って、Machine Specific Registers (MSR) を読み取ろうとしています/dev/cpu/0/msr
。通常、ルートに対してのみ読み取り/書き込み権限があります。これらのアクセス許可を 666 に更新し (もちろん sudo 権限を使用)、通常のユーザーとしてファイルを読み取ろうとします。それは私にそれをさせません。ただし、ファイルを開こうとすると、ファイルをsudo
開いて読み取ることができます。
chown
また、コマンドを使用してファイルの所有権を変更しようとしました。現在、ファイルのステータスは次のとおりです。
通常のユーザーとしてファイルにアクセスするには、何をする必要がありますか?
linux - 外部ハードウェアメーターなしでLinuxでプロセスのエネルギー消費を測定する方法は?
グーグルで調べてみたところ、 RAPLの下にMSR_PKG_ENERGY_STATUSが見つかりましたが、残念ながら、Sandy Bridge、Ivy Bridge などの新しいプロセッサのみをサポートしています。古いプロセッサでそれを取得する他の方法はありますか?
これは私のプロセッサです: http://ark.intel.com/products/50176/Intel-Pentium-Processor-P6200-3M-Cache-2_13-GHz
この特定の方法だけを探しているのではなく、Sandy Bridge よりも古いモデルで可能なすべてのオプションを見つけようとしています。
performance - Intelの汎用パフォーマンスカウンターをリセットする方法
wrmsr
命令を使用しrdmsr
て、パフォーマンス カウンターを設定し、汎用パフォーマンス カウンター レジスタを読み取ることができることはわかっています。
ただし、私の質問は次のとおりです。
を発行する前に、汎用パフォーマンス カウンタ レジスタをリセットする必要がありwrmsr
ますか?
つまり、次のコードでは、次のコードの前にパフォーマンス カウンターをリセットする必要がありますか? リセットする必要がある場合、どうすればリセットできますか?
c - x86_64 64 ビット RCX レジスタ値の WRMSR が正しく設定されていない
PMC1レジスタに書き込みたいので、RCXを188に設定したいです。
WRMSR 命令を使用するために使用するコードは最後に添付されています。問題は、eax および ecx 値 (64 ビット) をマクロに渡すことですが、%rcx レジスタは常に eax 値に設定されます。
RTXEN_WRITE_MSR(eax, ecx) が実行されると、カーネル パニックが発生します。登録情報は以下の通りです。
私のコードのどこが間違っているかを教えてくれる人はいますか?
x86 - GDB を使用して MSR を読み取る
GDB を使用してプログラムをデバッグしているときに、x86-64 モデル固有のレジスタ、具体的には IA32_FS_BASE および IA32_GS_BASE を読み取る方法はありますか?
Intel の Pintool のような動的インストルメンテーション パッケージを使用するソリューションはあまり好ましくありませんが、それでも同様に高く評価されます。
amd-processor - AMD マシンのマシン レジスタの変更
AMDマシンでMSRとPCI構成レジスタを変更することを検討していました。これを調べることで、どのビットを変更する必要があるかがわかります:http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2012/10/42301_15h_Mod_00h-0Fh_BKDG1.pdf
rdmsr/wrmsr コマンド (msr-tools) を使用してみましたが、AMD マシンでは何も変わりません。Linux で msrs やその他のレジスタを変更するにはどうすればよいですか?
linux - 最新の Intel プロセッサで最新のラスト レベル キャッシュ ミスを引き起こした命令を特定する方法はありますか?
現在、Last Level Cache ミスのハードウェア カウンターと参照をユーザー空間から読み取ることができます。wrmsr
それらを選択してrdpmc
から読み取ることができます。
ただし、一部のミスは、私がキャッシュにヒットしない非常に明白な参照ですが、他のミスははるかに微妙で、同じコード パスが複数回 (100,000 回) 実行されると移動することがあります。
これらのミスの一部はハードウェアのプリフェッチが原因であると思われるため、BIOS を介してハードウェアのプリフェッチャーを無効にしましたが、原因を突き止めるのが難しいスライド キャッシュ ミスがまだ発生しています。
Linux カーネルまたは Intel のレジスタのいずれかに、最新のラスト レベル キャッシュ ミスの原因となった命令のアドレスを特定する機能はありますか?
それが役に立つなら、私は で走っ2.6.32-279.el6.x86_64
ていIntel Xeon X3470
ます。