[Armadillo:08542] Re: armadillo440でのμsleep実行時の精度について

Yasushi SHOJI email@hidden
2013年 1月 24日 (木) 14:06:29 JST


古い話ですが...

At Wed, 19 Dec 2012 15:50:38 +0900,
h.kondo wrote:
> 
> High Resolution Timerを使っていても、結局は、HZの値に依存し、
> デフォルト値(10ms)で使用していると、10ms単位でしかスリープが
> できないということでしょうか。現状はデフォルト値です。

これは間違いです。最近のスケジューラーは HZ に依存せずにスケジュールし
ます。

linux/Documentation/scheduler/sched-design-CFS.txt

	4.  SOME FEATURES OF CFS

	CFS uses nanosecond granularity accounting and does not rely
	on any jiffies or other HZ detail.  Thus the CFS scheduler has
	no notion of "timeslices" in the way the previous scheduler
	had, and has no heuristics whatsoever.  There is only one
	central tunable (you have to switch on CONFIG_SCHED_DEBUG):

	/proc/sys/kernel/sched_min_granularity_ns


High Resolution Timer の精度は、実際にはいろいろなハードウェアタイマー
があるので、ハードウェア(とHRTのハードウェア依存部分の実装)に依存します。

また一般的な話としてですが、いくら High Resolution Timerが有効で高精度
のタイマーを持っていたとしても、同じプライオリティーに実行待ちのプロセ
スが多い場合は、指定時間では戻ってこれません。
-- 
           yashi




armadillo メーリングリストの案内