ユーザ用ツール

サイト用ツール


linux:linux-kernel
no way to compare when less than two revisions

差分

このページの2つのバージョン間の差分を表示します。


linux:linux-kernel [2013/04/12 00:51] (現在) – 作成 - 外部編集 127.0.0.1
行 1: 行 1:
 +====== Linux kernel関連メモ ======
 +Linux Kernelのオプションについて調べたメモ。
 +
 +===== timer関係 =====
 +  * [[http://www.wdic.org/w/TECH/%E3%83%8F%E3%83%BC%E3%83%89%E3%82%A6%E3%82%A7%E3%82%A2%E3%82%BF%E3%82%A4%E3%83%9E%E3%83%BC]]
 +
 +タイマーは起動時に選択される。利用可能なものから、一番良いものが選択されるようだ。
 +
 +通常はtscが選択される。tscはCPUのクロックベースのようで、一般的に利用される。CPUの動作周波数変化に影響されるとの記述も見られるが、最近は問題ないらしい。
 +
 +利用できるクロックのソースと現在利用されているものを知るには以下のファイルを確認する。
 +  ###利用可能なクロックソース
 +  # cat /sys/devices/system/clocksource/clocksource0/available_clocksource
 +  
 +  ###現在のクロックソース
 +  # cat /sys/devices/system/clocksource/clocksource0/current_clocksource
 +
 +クロックソースを変更するには、カーネルの起動オプションで指定してやる必要がある。
 +  #grub.confに以下のオプションを追加。
 +  #HPETを利用する場合
 +  clocksource=hpet
 +  
 +  #kvmの場合
 +  clocksource=kvm-clock
 +
 +
 +最近のシステムならば、HPETが利用できる。以下のドライバを有効にする。
 +  Device Drivers  --->
 +    Character devices  --->
 +       [*] HPET - High Precision Event Timer
 +       [*]   Allow mmap of HPET (NEW)
 + 
 +
 +
 +これまでのシステムでは、カーネルの割り込み周期に依存していたため、タイマーの精度がその周期に依存していたらしい。以下のパラメータで設定。
 +  Processor type and features  --->
 +    Timer frequency (250 HZ)  --->
 +
 +この周期に依存せずに高精度のタイマーを利用するためには、以下のオプションを有効にする。
 +  General setup  --->
 +    Timers subsystem  --->
 +      [*] High Resolution Timer Support
 +
 +このオプションによってタイマーの精度が向上するかどうかは、システム、ハードウェアに依存する。精度が改善されたかどうかを確認するには、以下のデバイスファイルを参照する。
 +  ###タイマーの状況を保持するファイル
 +  # cat /proc/timer_list
 +
 +この結果にある「resolution」を確認する。「1nsecs」なら、たぶん高精度タイマーになっている。High Resolution Timerのサポートを外して再起動してみると、resolutionが大きく変化する。変化しなければサポートされていないと考えて良いようだ。最近のシステムならば、たいていはサポートされているようだ。
 +
 +
 +Tickless System
 +  Timers subsystem  --->
 +    [ ] Tickless System (Dynamic Ticks)
 +
 +不要なタイマーの定期割り込みを発生させない。CPUがいちいち起動しないので消費電力を低下させられる。ノートPCなどで有効にすると電力消費が抑えられる。その際、時間管理は外部のクロックソースが使われるので問題ないようだ。
  
linux/linux-kernel.txt · 最終更新: 2013/04/12 00:51 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki