cat /proc/interrupts
マルチコアx86_64デスクトップコンピュータ(カーネル3.16)でこれを行うと、次のようになります。
0: 16 0 IO-APIC-edge timer
LOC: 529283 401319 Local timer interrupts
cat /proc/interrupts
マルチコアx86_64ノートブック(カーネル3.19)でこれを行うと、次のようになります。
0: 1009220 0 IO-APIC-edge timer
LOC: 206713 646587 Local timer interrupts
この違いを見ると、2つの違いが何であるかを自分に尋ねます。
説明があれば、誰かがこれをかなり徹底的に説明できることを願っています。ここ私は非常に詳細ではなく、私のデスクトップコンピュータではタイマーを使用しませんが、私のラップトップはタイマーを使用する理由を説明しません。
ベストアンサー1
明らかなx86_PCアーキテクチャでは:
割り込み要求0最初のタイマー(Timer0)に関連する割り込みライン。人プログラム可能私間隔時間制労働者。出身ですIOAPICCPU(cpu0)のみを起動します。
この割り込みとも呼ばれます。スケジューリングクロック割り込みまたは
時計ティック予約または単にダニ:
もしNO_HZカーネル構成ノブが設定されていません(またはLinuxカーネルバージョン<3.10では)。割り込みが定期的に実行されるようにプログラムされます。ヘルツ頻度。
NO_HZが設定されると、PITはワンショットモードで動作します。
初期起動時に使用され、特定の状況を除いて、時計のティックとシステム時間を更新するためのスケジューラとして引き続き使用できます。より良いもの(*1)クロックソース利用可能であることがわかりました。
それにもかかわらず、次の場合はCPU時間統計に使用されます。TICK_CPU_ACCOUNTINGカーネル構成の一部として設定されます。
LOC以下に関連する割り込みです。ローカルAPICタイマー。
退屈な初期化後に有効にする必要があります。 (上記リンク参照)
その後、CPUハードウェアの機能に応じて、中間時間にこのクロックソースを安定して維持します。カーネル設定と起動コマンドラインパラメータによって異なりますこれは、さまざまなスケジューラタスク、正確なCPU時間統計、およびシステム時間メンテナンスをトリガするためにPIC割り込みを置き換えます。