問題タブ [kernel]
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.
linux - ハードウェアのプリフェッチをプログラムで無効にするにはどうすればよいですか?
ハードウェアのプリフェッチをプログラムで無効にしたいと考えています。
ハードウェアで実装されたプリフェッチャーを使用したインテル® Core™ マイクロアーキテクチャーでのアプリケーション・パフォーマンスの最適化と、32 ビットのインテル® アーキテクチャーでハードウェアとソフトウェアのプリフェッチを選択する方法から、 MSRを更新してハードウェアのプリフェッチを無効にする必要があります。
関連するスニペットは次のとおりです。
「DPL プリフェッチと L2 ストリーミング プリフェッチの設定は、
IA32_MISC_ENABLE
レジスタのビットを変更するためのデバイス ドライバ ユーティリティを作成することにより、プログラムで変更することもできMSR 0x1A0
ます。このようなユーティリティは、サーバーのダウンタイムを必要とせずに、プリフェッチ メカニズムを有効または無効にする機能を提供します。
次の表に、および L2 ストリーミング プリフェッチIA32_MISC_ENABLE MSR
を制御するために変更する必要があるのビットを示します。DPL
http://etallen.com/msr.htmlを使用してみましたが、うまくいきませんでした。私も直接使用wrmsr
してみましたが、セグメンテーション違反です。asm/msr.h
私はカーネルモジュールでこれをやろうとしました...そしてマシンを殺しました。
ところで-私はカーネル2.6.18-92.el5を使用しておりMSR
、カーネルにリンクしています:
linux - ユーザー空間プロセスを使用してカーネル モジュールを支援する
私は、Linux で動作する非常に高性能なハードウェアの 1 つに取り組んでいます。一部のデータをキャッシュしたいのですが、メモリの消費が心配です。そのため、キャッシュを管理するユーザー プロセスを作成することを考えています。そうすれば、キャッシュをカーネル空間などではなく、仮想メモリに置くことができます。
問題は、これを行う最善の方法は何ですか? 私の最初の本能は、カーネルモジュールにキャラクターデバイスファイルを作成させ、そのファイルを開き、コマンドがそこに到着するのを待つselectステートメントに座るユーザープログラムを持たせることです。しかし、これが最適ではない可能性があることを懸念しています。ある友人は、ソケットベースのインターフェースを知っていると言いましたが、押し付けられたとき、彼は詳細を提供できませんでした....
助言がありますか?
windows-xp - ページプールメモリまたは非ページプールメモリ?? (Windowsドライバー開発)
私はWindowsドライバー開発の初心者です。知りたいのですが、ドライバーのグローバル変数はページプールメモリまたは非ページプールメモリを使用しますか?
よろしくお願いします
ナバニース
debugging - OSDictionaryをコンソール/ログにダンプ(印刷)する方法は?
kextからOSDictionaryの内容を調べたいのですが。内容をsystem.logなどに印刷する便利な方法はありますか?(ala CFShow())?
thx-> adv、
| K <
windows - Microsoft Windows 用のカーネルを作成するための必須要件は何ですか?
Microsoft Windows のようなカーネルを書くには、プログラマーとして何を学べばよいですか?
私はcとc ++を知っていますが、カーネルを書くにはどうすればいいですか? Linuxのカーネルプログラミングの基本を知る必要があります
Linux と Windows の両方のカーネル プログラミングのエキスパートになる方法
linux - ゼロから強化された BSD
Hardened Linux from Scratchプロジェクトは、独自のカスタマイズおよび強化された Linux システムを完全にソースから構築するための段階的な手順を提供するプロジェクトです。BSDで同等のものは何ですか?
linux - プリエンプションとは / プリエンプティブル カーネルとは? それは何のために良いですか?
プリエンプションとは何か、また (Linux) カーネルにとって何を意味するのか、ご自身の言葉で説明してください。
プリエンプティブル カーネルを持つことの利点と欠点は何ですか?
linux - Linux カーネルのアップグレード後に、VMware カーネル モジュールを再コンパイルする必要があるのはなぜですか?
Linux カーネルのアップグレード後、vmware-config.pl を使用して再構成作業 (カーネル モジュールのビルドを含む) を行うまで、VMWare サーバーを起動できません。
Windows VMWare ホストを最新の Windows Service Pack で更新すると、通常、VMWare を実行するために何もする必要はありません。
Linux と Windows で VMWare の動作が異なるのはなぜですか? この再コンパイル アクションは、Windows よりも Linux プラットフォームに利点をもたらしますか?
c - Cを使用してLinuxで開いているソケットのリストを取得するには?
ユーザー空間またはカーネルで C を使用して、Linux で開いているすべてのソケット (ソケット アドレスまたはソケット記述子) のリストを取得する方法はありますか?
ありがとうございました
linux - カーネルモードとユーザーモードを切り替えるときのタイムスタンプカウンター(TSC)
コンテキストスイッチが発生したときのLinuxのタイムスタンプカウンターの詳細を誰かが知っているかどうか疑問に思っていますか?これまで私は、カーネルモードでもユーザーモードでも、TSC値は各クロックサイクルで1ずつ増加していると考えていました。TSCを使用してアプリケーションのパフォーマンスを測定したところ、5 MioClockCylesのパフォーマンス結果が得られました。次に、スケジューラーにいくつかの変更を加えました。これは、コンテキストスイッチにかなり長い時間がかかることを意味します。つまり、500.000サイクルではなく2Mioサイクルです。面白いことに、元のアプリケーションのパフォーマンスを再度測定すると、まだ5 Mioサイクルかかります...コンテキストスイッチに約2Mioクロックサイクルかかるので、なぜそれほど長くはかからなかったのでしょうか。(そして、アプリケーションの実行中に少なくとも3つのコンテキストが発生します)。
カーネルモード中にタイムスタンプカウンターが何らかの理由で非アクティブ化されていますか?または、コンテストの切り替え中にTSCのコンテンツが保存されますか?誰かが私に何が問題なのか指摘してくれたらありがとう!