2009-05-08から1日間の記事一覧

OpenBSD/sgi on octane2 - mplock周りで落ちるバグについて#2

しかたがないので追っかけてみる事にした。 mplock.hを追っかけやすいようにデバッグprint追加: static __inline void __mp_lock_init(struct __mp_lock *lock) { asm volatile("nop;nop;nop;"); extern int printf(const char *, ...) __attribute__((__fo…

OpenBSD/sgi on octane2 - mplock周りで落ちるバグについて

__cpu_simple_lock後にきちんとロックされているか確かめるコードを念の為書いて走らせてみた。 が、そこは問題ないようである。こんなん: //#if defined(MP_LOCKDEBUG) #ifndef DDB #error "MP_LOCKDEBUG requires DDB" #endif extern void Debugger(void)…

FreeBSDでは、「TCP/IPスタック」からBKLが排除

http://d.hatena.ne.jp/yutakapontan/20090507#p1 素晴らしい。 これでどの程度SMP時のネットワーク性能が上がっているのだろうか? どこかで測ってないのかな〜。

OpenBSD/sgi on octane2 - kernel diagnostic assertion "__mp_lock_held(&sched_lock) == 0" failed

MP_LOCKDEBUGを外したら、今度はこんなんでましたけど。 >> bootp()192.168.3.1:bsd Setting $netaddr to 192.168.3.2 (from server ) Obtaining bsd from server 5889104+492712 entry: 0xa800000020020000 ARCS64 Firmware Version 64.0 Found SGI-IP30, s…

OpenBSD/sgi on octane2 - releasing not locked lock

__cpu_simple_lock_tryのバグを直したら、今度はこんなんでましたけど。 Command Monitor. Type "exit" to return to the menu. >> bootp()192.168.3.1:bsd Setting $netaddr to 192.168.3.2 (from server ) Obtaining bsd from server 5889472+492712 entry…

OpenBSD/sgi on octane2 - __cpu_simple_lock_tryのバグ

__cpu_simple_lock_try()でoldとnewが両方ともv0にコンパイルされちまってるよ、"=r"を"=&r"に書き換えると直るよ、とエラい人に教えてもらった。まじかよ。って事で早速ダンプを取ってみた。__cpu_simple_lock_try()はinline関数だから、展開先を作ってあげ…

"「プログラミング言語を理解するにはどうしたらいい?」という話を聞いて思うこと"を読んで思うこと。

元ねた:「プログラミング言語を理解するにはどうしたらいい?」という話を聞いて思うこと - 西尾泰和のはてなダイアリー理解したいプログラミング言語で書いたプログラムがどうやって動いているのかを勉強してみれば良いんじゃね? と思ったんだけど。違う…