NetBSD/alpha MP時刻ズレ問題メモ

時刻ズレてる系男子
1
Lucky owner/capturer @nullnilaki

mail-index.netbsd.org/port-alpha/201… ???にはならないけど、NetBSD/alphaのtopバグッてるっぽいな... いつからだろう? pic.twitter.com/uI2jS0qwYB

2016-01-24 06:06:32
拡大
Izumi Tsutsui @tsutsuii

@nullnilaki top の時間表示というよりは ps(1) の TIME がどうなっているかを見たほうがよいような(あまりにも時間が大きいと TOP では横幅的に表示されなかったような)

2016-01-31 03:56:07
Lucky owner/capturer @nullnilaki

NetBSD/alpha MP 問題有り 何故か時間がマイナス pic.twitter.com/o5EMETYonE

2016-01-31 04:33:37
拡大
Lucky owner/capturer @nullnilaki

これ、絶対めんどくさい奴だ〜 MPカーネルがどのようにプロセスの時間管理してるかなんて 絶対めんどくさい奴だ〜

2016-01-31 04:35:09
Lucky owner/capturer @nullnilaki

時が未来に進むと誰が決めたんだ〜

2016-01-31 05:48:36
Lucky owner/capturer @nullnilaki

/arch/alpha以下にtv_sec持ってないな...

2016-02-05 00:00:51
Lucky owner/capturer @nullnilaki

NetBSD/alphaでpsなりtopの時刻がマイナスになるのは、 uint32_tなp_rtime_sec を int32_tなsecs; に代入しているからなんだけれど、 nxr.netbsd.org/xref/src/sys/s… nxr.netbsd.org/xref/src/bin/p…

2016-02-06 04:19:04
Lucky owner/capturer @nullnilaki

@nullnilaki なぜオーバーフローするような巨大な数値が入っているかは、要調査だな.... pic.twitter.com/TNoNc6yc1Z

2016-02-06 04:21:16
拡大
拡大
Lucky owner/capturer @nullnilaki

ps/print.cってコレ、PR案件? つついさん〜、どうしましょー gist.githubusercontent.com/nullnilaki/296…

2016-02-06 04:22:33
Izumi Tsutsui @tsutsuii

@nullnilaki long にしたとしても ILP32 な環境ならば同じですし、かといって signed/unsigned のどちらが正しいかというとオーバーフローし得る時点であまり意味がないという気がします。やはり元の値がおかしいところを先に調べるべき?

2016-02-06 14:10:13
Izumi Tsutsui @tsutsuii

@nullnilaki 激しく忘却の彼方ですが 私が入れたところがアレかも(MPマシンでは誰もテストしてない) mail-index.netbsd.org/source-changes… mail-index.netbsd.org/source-changes…

2016-02-06 14:30:37
Izumi Tsutsui @tsutsuii

src/sys/kern/kern_cctr.c で #include "opt_multiprocessor.h" していないのが問題かと思ったけれど、明示的に include しなくてもどこかの依存で定義されているようだ

2016-02-10 01:56:19
Izumi Tsutsui @tsutsuii

alpha_multicast_ipi(cpus_running, ALPHA_IPI_MICROSET) ってコピって書いてるけど、これ alpha_broadcast_ipi() と同じだよな nxr.netbsd.org/xref/src/sys/a…

2016-02-10 02:03:18
Izumi Tsutsui @tsutsuii

#include "opt_multiprocessor.h" は明示的に削除されていた nxr.netbsd.org/diff/src/sys/k…

2016-02-10 02:06:29
ryo @rsh

@tsutsuii 昔 opt_foobar.h を include せずに ifdef FOOBAR してるやつを探そうとおもってチェックするscript書いたけどincludeの中でincludeしてたりして追いきれなくて諦めた記憶が。

2016-02-10 02:13:05
Izumi Tsutsui @tsutsuii

PR port-i386/36839 も結局どういう経緯で却下だったのか忘れたけど、そもそも cctr の元の実装が SMP だとバグっているということなのだろうか gnats.netbsd.org/36839

2016-02-10 02:18:33
Izumi Tsutsui @tsutsuii

@rsh MULTIPROCESSOR は <sys/systm.h> ですね。 depend の結果とセットで見ればいいのかもしれませんが……

2016-02-10 02:25:01