ローカルタイマ割り込みとタイマの違いは何ですか?

ローカルタイマ割り込みとタイマの違いは何ですか?

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割り込みを置き換えます。

おすすめ記事