トップ «前の日(12-22) 最新 次の日(12-24)» 追記

本 日 の h o g e

hogeとはワイルドカードのようなものです。日々起こった、さまざまなこと −すなわちワイルドカード− を取り上げて日記を書く、という意味で名付けたのかというとそうでもありません。適当に決めたらこんな理由が浮かんできました。

更新情報の取得には rdflirs を使ってもらえると嬉しいです.


12/23/2003

tDiary 425日目

[日記] う

飲み過ぎでへろへろ.ウィスキーの瓶を一人で半分あけるとは思わなかった.


12/23/2004 ふむ

tDiary 791日目

[日記] むう

ねむ.


12/23/2005 ふむ

tDiary 1156日目

[日記] 飯日記

  • 13時頃:焼肉セット
  • 21時頃:色々

12/23/2006 ふむ

tDiary 1521日目

[日記] 飯日記

  • 14時頃:パスタ
  • 21時頃:チキンラーメンにしじみ

12/23/2009 うーむ

tDiary 2617日目

[Linux] rdtsc とか

随分古い話で,2.6.26 にて修正されているそうだけど.

> This seems to be occurring when the clock source goes slightly

> backwards for a single call. In

> kernel/time/timekeeping.c:__get_nsec_offset(), we have this:

> cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;

>

> So a small decrease in time here will (this is all unsigned

> arithmetic) give us a very large cycle_delta. cyc2ns() then multiplies

> this by some value, then right shifts by 22. The resulting value (in

> nanoseconds) is approximately 4398 seconds; this gets added on to the

> xtime value, giving us our jump into the future. The next call to

> gettimeofday() returns to normal as we don't have this huge nanosecond

> offset.

[Re: gettimeofday() jumping into the futureより引用]

これは結局 rdtsc した結果が前回よりも小さかったら delta が巨大になっちゃうよねって話か. gettimeofday() は delta をもにょもにょした値を xtime に加算して返すので,とんでもない値が返ってくる可能性があると.

tsc がオーバーフローしたりマルチコアで tsc sync がうまくいってない場合に起こり得る?

さらっとコード読んでみたら,2.6.28 くらいまで上の cycle_now が次の cycle_last そのものではなくて,cycle_last は加算がされていくだけくさい.cycle_last がオーバーフローした場合も delta が巨大化するんじゃねとも思った.

けど 64bit unsigned がオーバーフローするには 4GHz でも約 150 年? ありえん. やっぱ d8bb6f4c1670c8324e4135c61ef07486f7f17379 の通り tsc sync か.


12/23/2010 ふむ

tDiary 2982日目

[映画] TRON:legacy

3D で観てきたのだけれど.

プログラムが戦うとか Py コードバトラーやんけ.

で,観てる中でアイディアが浮かんだのだけれど,まー面倒なのでやるかどうかはワカラン感じかなぁ.