回答編集履歴

1

記載内容の修正

2017/01/17 08:49

投稿

sutasuta
sutasuta

スコア36

test CHANGED
@@ -4,39 +4,43 @@
4
4
 
5
5
  おそらく linux kernel でのトラブルの話をされているのかと思います。
6
6
 
7
- それを前提にものすごくざっくり説明しますとこの時の bug では、
7
+ それを前提にものすごくざっくり説明します
8
8
 
9
- うるう秒挿入時に CLOCK_REALTIME を1秒巻き戻したのに
9
+ この時の bug では、うるう秒挿入時に CLOCK_REALTIME を1秒巻き戻したのに
10
10
 
11
11
  clock_was_set() を呼び忘れたことです。
12
12
 
13
- この状況では、高精度カーネルタイマ(hrtimer) 1秒ずれが生じた状態になります。
13
+ この状況では、高精度カーネルタイマ(hrtimer) の処理時に1秒ずれが生じた状態になります。
14
14
 
15
15
 
16
16
 
17
- このため、hrtimer でタイマーを設定すると1秒早くタイマーが終了してしまう状況になります。
17
+ このため、hrtimer でタイマーを設定すると1秒早くタイマーが終了してしまう状況になります。
18
18
 
19
19
 
20
20
 
21
- ここで問題なのは1秒未満のタイマーを設定した場合で、場合はタイマーを設定した
21
+ ここで問題なのは1秒未満のタイマーを設定した場合で、1秒未満のタイマーを設定した
22
22
 
23
- タイマーが終了してしまう為、タイマー切れの処理を行います。
23
+ 即座にタイマーが終了してしまいます。
24
24
 
25
+ タイマーが切れたため、プログラムはタイマー切れの処理を行います。
26
+
25
- タイマー切れの場合に再度タイマーを設定するプログラム場合この処理がループします。
27
+ タイマー切れの場合に必要な処理を行い、再度タイマーを設定するプログラムであった場合、
28
+
29
+ この一連の処理はループします。
26
30
 
27
31
 
28
32
 
29
- これらのプログラムが複数呼び出された場合は、負荷が高くなります。
33
+ これらのプログラムが複数呼び出された場合は、システム全体の負荷が高くなります。
30
34
 
31
35
  1秒ずれた状態は clock_was_set() を呼びだすまで解消されないため、
32
36
 
33
- うるう秒処理後からいろいろなプログラムで高負荷の状況を生み出す事になります。
37
+ うるう秒処理後から1秒未満のタイマーを設定する様なプログラムで
34
38
 
35
- ※1秒未満タイマー設定る処理を踏んだ場合
39
+ 高負荷状況生み出事になります。
36
40
 
37
41
 
38
42
 
39
- この問題の解消は clock_was_set() を呼びだして1秒のずれを解消する事です。
43
+ この問題の解消は clock_was_set() を呼びだして1秒のずれを解消する事です。
40
44
 
41
45
  date コマンドで解消する記事が多くあると思いますが、それは内部で clock_was_set() を
42
46