2010-01-01から1年間の記事一覧
Ceph本体についてくるradosコマンドで同じ事が出来るんだから必要は無いんだけど、コードの理解を深めるために。http://github.com/syuu1228/radoscmds
panicの原因はphysmemを初期化していないのが原因だったので、これにきちんと物理メモリ量を代入するように直した。 cvmctl:900043f0 cvmmemctl:46104 Unknown Boot-Descriptor: Using Defaults Boot Descriptor Ver: 0 -> 0/0 CPU clock: 500MHz Core Mask:…
ページテーブルを引く所でこけてるから仮想メモリ周りが悪いのかと思ったら、NULLポインタを解決しようとして何故か初期化されてないproc0のユーザ空間向けページテーブルを引いているのが原因だった。NULLポインタを関数コールしてるコンソール周りを直した…
ページング周りが全然ダメで、仮想アドレス使い始めた瞬間に死んでしまう使えないシロモノが出来上がった。 その辺のコードはどのMIPSでも大体共通で、特にOCTEONで気をつけるべき部分は無いかと思っていたので、なんでうまく行かないのかよく分からず悩み中…
http://svn.freebsd.org/base/user/jmallett/octeonをcheckoutしてきて、ブートローダの違いで動かん部分をゴニョゴニョした。 まぁ、殆どコメントアウトしただけなんだが。 Cache info: picache_stride = 4096 picache_loopcount = 4 pdcache_stride = 128 …
カメラはど素人なので、色々と迷走したお話。 事の顛末 悩みに悩んだ挙句、DiMAGE A1よりSONY α200+TAMRON A16へ乗り換え、以来ずっとこの組み合わせを使い続けていたのだが、幾つか不満が有った。 不満1:やっぱり重い、デカい そもそも一眼レフにすべき…
「もちろんOpenBSDですよね、わかります。RT @did2memo: OSなど買ってきた」 という私のTwitterでのネタつぶやきが発端でdid2さんにOpenBSDの立派な環境構築メモを書いて頂きました! こちらからどうぞ↓ OpenBSDのインストール方法詳細メモ(1) - 情報科学屋…
http://www.starpos.org/~hoshino/PukiWiki/index.php?plugin=attach&refer=Resources%2F2009&openfile=20090508-largescale-datastore-talk%40IIJ.pptxより Google: マスタサーバに集約 → bottleneck問題 Amazon: 全ノードに分散 → routing問題 一長一短だ…
現状: cpu1でクロック割り込みはかかる cpu0→cpu0のIPIはかかる cpu1→cpu0のIPIはかかる cpu1→cpu1のIPIはかからない cpu0→cpu1のIPIはかからない 何となく、割り込みコントローラへの設定などなどがしくってるような気がするけど、IMR0の値もステータスレ…
試しにこんなコード書いてみたんですけど、共有ロックの時にも排他ロックがかかってるようにしか見えないんすよね…。内容としては、以下の処理を順にやってるつもり: a.dat, b.datへ書き込むスレッドを4つづつ作って排他ロック、a.datだったら書込み後に30…
dan kogai氏のblogに書かれてたswap抑制ハックネタ(404 Blog Not Found:Mac OS X Leopard - dynamic_pager を骨抜きに)だが、ここに乗ってるMakefileをそのまま使ってコンパイルしようとするとSnow Leopardでは失敗する。 10.4 SDKが存在しないからだ。な…
Linuxを参考に、IPIのIRQをヘッダに足してみる。 Index: hub.h =================================================================== RCS file: /cvs/src/sys/arch/sgi/xbow/hub.h,v retrieving revision 1.7 diff -u -p -r1.7 hub.h --- hub.h 8 Nov 2009…
全く動作確認取ってないしコンパイルすら通してないけど、俺のゴーストはこれで大丈夫とささやいてるから多分大体あってるはず。 アクセスするレジスタ類はLinuxのip27のコードに合わせて、interm,imaskの配列化は以前ip30向けに実装したコードを参照。 Inde…
hw_cpu_hatch()で割り込み有効にしてbreakかけてddbが上がるかどうか確かめればExceptionをハンドルしてtrap出来てるか分かるという単純極まりない事実に気づいて早速試してみる。 /* * Build proper TLB refill handler trampolines. */ extern void xtlb_m…
この間の起動テストコードに、CPU初期化時にセカンダリプロセッサを探してnasid, physidをstruct cpu_hwinfo secondarycpu_hwinfo[MAXCPUS]に保存し、後でこれを見に行って順に起こすというコードを足した。 でもbootcpu_hwinfoとsecondarycpu_hwinfo[]が分…
第四回 カーネル/VM探検隊でも話した通り、Originのメモリレイアウトでは物理メモリの先頭64KBずつが各プロセッサで排他的に使えるメモリ領域として割り当てられており、実際の位置に関わらず物理アドレスは0x0になっている。 ので、Exception Vectorがこの…
久しぶりにコードをコミットした。リハビリ中な気分。 +#ifdef MULTIPROCESSOR +LEAF(getcurcpu, 0) + GET_CPU_INFO(v0, v1) + jr ra +END(getcurcpu) nopで埋め忘れてる。 +#ifdef MULTIPROCESSOR +LEAF(getcurcpu, 0) + GET_CPU_INFO(v0, v1) + jr ra + no…
OpenBSDでカレントプロセッサのcpu_info(※per-CPUなデータを保存する構造体)のポインタを取得するにはcurcpu()というマクロを呼ぶのだが、現状のOpenBSD/sgiではこんな風になっている: #define curcpu() cpu_info[cpu_number()] で、cpu_number()はハード…
前にも書いた通り、cpu0,cpu1,cpu2の3つを認識させ、cpu1を無効なまま放置してcpu2を起動するのがファーストステップである。As I mentioned before, detect cpu0, cpu1, cpu2 and leave cpu1 disabled and launch cpu2 is the first step. Index: sgi/sgi/…
取り敢えず、最小限の作業で手元の2コア1ノード構成が動くまでにやらねばならぬ事。・スレーブCPUの起動、LAUNCHで。 ・Exceptionテーブルコピー、uvmでの使用禁止などプライベートエリアの手当て ・取り敢えずcpu0,cpu2がオンラインでcpu1がオフラインに見…
プロセッサの検出はKLCONFIGで出来る事が分かったが、起動はどうしているのだろうか。 Linuxでは、arch/mips/sgi-ip27/ip27-smp.cにこんな事が書いてある: static void __cpuinit ip27_boot_secondary(int cpu, struct task_struct *idle) { unsigned long …
Linuxのソースコードを読んでいくと、どうもCPU構成の情報はKLCONFIGという所から読み込んでやればいいらしい事が分かる。arch/mips/sgi-ip27/ip27-smp.cというファイルを覗くとこんな関数がある: static int do_cpumask(cnodeid_t cnode, nasid_t nasid, i…
まだ分かってない事も多いのだが、追々調べる。 Originのコンセプト これは、ディスプレイコネクタもなく2Uである事からも分かるように、デスクサイドに置くようなタイプのマシンでなくラックに詰め込んで何らかの処理(レンダリングファーム用?それともHP…
http://undeadly.org/cgi?action=article&sid=20100405232242 I realized that Takuya is a Japanese Internet rockstar with his own twitter following. He's not your typical Japanese person. In fact, you would never guess that he was a kernel hac…
カーネルや仮想マシンなど、低レイヤー話でわいわい盛り上がるマニアックな会です。 Linux・*BSDのデベロッパーの方々にご参加頂いています。 そのうちPlan9のデベロッパーも…! 日時 / DATE :2010/05/08 13:00 to 19:00 定員 / LIMIT :150 人 会場 / PLACE …
http://nekochan.net/の人達や@shigefumiさん達にIO9やメモリ、CPUとかを一度抜いて挿し直してみろ!と言われたので、試しにやってみた。 これ、IO9ボード。SCSIとATAとイーサーネットコントローラが乗ってるっぽい。 一度抜いて挿し直してみる。あっさり治…
TheoがSGI Origin 350を私に買い与えてくださいました。こんな子: 起動音: http://www.twitvid.com/DF792だがしかし、正常に起動してこない。もともとジャンクに近い扱いで大幅に安くしてもらったものなので、どこか壊れているかもしれない…。 どうしたも…
miniupnpcというCなUPnPのライブラリがあって、これは結構多くのルータをサポートしてて色々なオープンソースアプリで(もしかしたら商用アプリでも)用いられているんだけれど、Javaバインディングがない。 どーせ小さなコードなので、JNIするのもそんな面…
Genkidamaに使ってたLoggerからの出力をねじ曲げてSwingに表示する部分をslf4j向けのjarにしてgithubで公開しました。要するに、こういうコードを書くと: import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.slf4j.impl.LogWindow; publ…