日記 (2007年弥生)

日記の表紙前月(如月)翌月(卯月)
2007年3月1日(木)
晴れ。

o ニセ。FPGAの programmable pull-up の指定がどこにあるのか探しまくり。 分かりづらい。

o usb(4) いじり。しまった、DMA まわりの設計が良くなかったのでやり直しか…。

2007年3月2日(金)
晴れ。

o ニセ。FIFO の取りこぼしを発見して修正。 でもデータが流れなくなっちゃうのは別の原因らしい。うーむ。

o usb(4) いじり。確保したメモリを解放する気も、bus_dmamap_sync(9) する気も全く無いコードに失望した。

2007年3月3日(土)
晴後曇。

o ひたすら usb(4) いじり。ohci(4) を直したー完璧ダー(コンパイルしてないけど)。 今まで動いているのが不思議なコードだが、PCI で 32bit マシンなら bus_dmamap_sync(9) 無しでもそれなりに動くんだろうな。

o current を試すたびに壊れているのなんとかなりませんか…。

2007年3月4日(日)
晴れ。暑すぎる。

o ちょっくらコンパイルしてみたらエラーが 1000行単位で出た。 ちまちまと修正。

o コンパイル通ったー。動かないー。うわあん。

2007年3月5日(月)
雨後曇。なまあたたかい。

o ニセ。FIFO をリセットすると動かなくなる…。分からーん。

o usb(4) いじり。なんか動きだしたー。

でもなんか落ちる…。

2007年3月6日(火)
曇後晴。寒くなった。啓蟄。

o panic: lockmgr: no context で落ちまくり。ソフトウェア割込み中の bus_dmamem_unmap(9) が原因ぽい。 設計し直さないとだめですかそうですか。

試しに usb_transfer_complete() の後半を usb_add_task() で呼ぶようにしてみたが、task 用スレッドができる前(cold の時)に呼ばれることもあるようでだめらしい。ううむ。

2007年3月7日(水)
晴れ。寒い。

o ニセでUSBコントローラ(ターゲット側)いじり。 転送が止まっちゃうことがあるんだが、原因が全然分からん。うきー。

o usb(4) いじり。 バッファの解放だけ遅らせたらいいんかなあ。 free() だけじゃなくて freex() も割込みコンテキストだから一緒に遅らせるんかな。 task 用スレッドがいなかったら次の alloc 時に解放するとかかな。 って alloc も割込みコンテキストにあるコードがあるな。

これ、設計し直した方がいいような気が……。

2007年3月8日(木)
晴れ。

休み。

o 病院へ。繁盛してるな。 1030頃に受付して、出てきたら1430くらい。

散瞳剤で目が露光過多でかぶりまくり。仕様通り4〜5時間くらい効いていた。

o 帰りにスーパーに寄ったら改装で休みだった。

2007年3月9日(金)
晴れ。

o usbdi(9) の関数をチェック。async って書いてあるのに大抵 sleep する罠。

2007年3月10日(土)
晴後曇。夜になって雨。

o PCI な IDE コントローラって奇数アドレスに DMA できるのは無いんかな。 少なくとも piixide(4) と viaide(4) はできないっぽい。

2007年3月11日(日)
朝早く雨。のち晴れ。

o Ni-MH 電池を4本直列にして使っていたのだが、放電特性がかなり偏っているようだ。 4本パックで2本ずつ色分けしてあるが(SANYO HR-3UF-4BP)、 白い2本が早く無くなって青い2本が長持ちする。 色違いは別ロットなんだろうか。

2007年3月12日(月)
晴れ。時々ぱらぱらと雨。風が強くて寒い。

o ニセ。出張準備しながらコーディングしながらデバッグであたふた。

2007年3月13日(火)
晴時々曇。

o 久しぶりに東の方に出張。8時頃に発。のぞみ号であづまくだり。

o 早く終わったのでアキバへ。適当に歩いていたらあのチチブデンキを発見。 Libretto 100 の RTC 用電池を GET。1050円。物が一瞬で出てくるのがさすがだ。

o 現在位置がよく分からないのでまず秋葉原駅に行ってから(実は近くだったらしい)、 秋月電子の仮店舗を見物に。テントかよ。 土の上に直接カーペットを敷いているらしく、足元がでこぼこしている。 電源まわりの部品を GET。

o HDD 屋を探したが迷ったのであきらめる。

o 18時頃に離脱。 のぞみの FM ラジオの 79.6 MHz で NHK 第1 を聞いていたが、妙に音が悪い。 走っている近くの第1放送を再送信していることは分かった。

帰ってきたら23時。疲れた。

2007年3月14日(水)
晴後曇。

o 半年ぶりに献血。 献血手帳から献血カードへの切り替えで受付が大混雑。え、暗証番号? 次回までには確実に忘れちゃうよ…。

献血車の中も大忙しのようだ。システムが変わったのか、作業が増えているっぽい。 大変だな。

2007年3月15日(木)
曇。

休み。Zzz...

o ちょっとだけコードいじり。

2007年3月16日(金)
晴れ。

o usb(4) いじり。sleep できない時の bus_dma(9) な unmap/destroy/free を遅らせるようにしてみる。うーん、どうも安定しないなあ。 ハングしたり、 panic: uvm_pglistalloc: page not on freelist とかいろいろ。

async なインタフェースで allocm しているのはインタフェースの仕様ごと直さないとだめだな…。

2007年3月17日(土)
晴れ。

o とりあえず現状の usb(4) を投げてみる。 サイズ制限にひっかかってなかなか流れてこない。 あとはまかせた。

2007年3月18日(日)
晴れ。

o ちょっと調べもののために AlphaStation 500/500 を起動。

WARNING: clock gained 413 days -- CHECK AND RESET THE DATE!

去年の1月以降起動していなかったらしい。

o SPARCstation 10 も起動。

WARNING: clock gained 324 days -- CHECK AND RESET THE DATE!

なんか起動しにくくなってる…。電源まわりかな。

o ML に流したのに返事が直メイルばかりってのは何か事情があるんでしょうか(汗)。

2007年3月19日(月)
晴れ。

o 寮の食堂の業者が変わった(関連会社らしいから何も変わっていないけど)記念で、 おまけのお菓子を配っていたのでGET。

o DMA を使わないコードを書いたり。

2007年3月20日(火)
晴れ。

o slhci(4) をやっつける。こいつは簡単〜。

2007年3月21日(水)
晴れ。春分。

o ehci(4) いじり。やっぱり DMA を使う方がが面倒くさい。 こいつも全く bus_dmamap_sync(9) が無い。よく動いてるな…。

o FORTRAN と BNF の John Backus さんぽなくなり。17日。

o clcs(4) が初期化に失敗して音まわりが動かなくなった。 ハングしなかっただけましだけど。 仕方がないので再起動。uptime は 38日と1時間くらい。

2007年3月22日(木)
晴後曇。

o usb いじり。uhci(4) やっつけ。 usbd_do_request_async() が async じゃないのをやっつけ修正。

2007年3月23日(金)
晴後曇。

o ThinkPad の Contol キー(にしている CapsLock キー)がきしむのでキートップを外して掃除。 だいたい直った。 ほこりやら髪の毛やらが挟まっていた。

o メモリリーク検出用にデバッグコード書き書き。

2007年3月24日(土)
朝のうち曇。11時頃から雨。

o メモリリーク検出用にデバッグコード書き書き。 メモリリークを発見。修正。

o uhci(4) をテスト。バグってたので修正。

2007年3月25日(日)
朝のうち曇。11時頃から雨。

o NHK-FM をつけたら高校野球。???

北陸で地震だったらしい。どこでも起きるな…。 ぐっすり二度寝していたので気付かなかった。

o umass(4) が割込みコンテキストでメモリ確保しようとしているのでちまちま修正。 DIAGNOSTIC な panic を追加。

o しかし時々 panic: uvm_pglistalloc: page not on freelist になるのは直らない…。

o 近くの上新へサイクリング。特に収穫なし。

工人舎のノートに触る。ソフト的に CardBus ブリッジが見えるのに CardBus スロットが無いのが残念すぎる。LAN はカニ。

2007年3月26日(月)
晴れ。

なんか眠すぎる……。

o ソメイヨシノが数輪咲きかけ。

o うーむ、ehci/ohci/uhci で、descriptor を持ってくる時に割込みコンテキストでメモリ確保することがあるようだ。 私が入れたんじゃなくて元々あったものだけど。 これを直すのは 1. ad hoc な workaround, 2. 根本的に設計し直し のどっちがいいかな。

設計し直しなら bus_dmamap_sync(9) がすごく面倒なのも一緒に直したい所X。

2007年3月27日(火)
曇。昼過ぎから雨。

o 桜の開花宣言とな。

o 赤十字血液エンターから結果のお葉書。全部標準値だけどちょっと高めの値が…。

o usb(4) いじり。なんとなく ad hoc でいいような気がしてきた。……が uhci(4) の不連続データをコピーするためのバッファだけはうまくいかない気が…。

2007年3月28日(水)
晴れ。ぽかぽか。

o ニセ。微分しまくり。

o [eou]hci(4) いじり。 やっぱり根本的にダメな気がしてきたけど書き直すのは面倒だな…。

2007年3月29日(木)
曇時々晴。

o ニセ。screen が暴走した。ぎゃー。

o 父からメイルが来た。ケータイらしい。

2007年3月30日(金)
朝5時台に猛烈に雷雨。日中は曇後晴。

まだ咲きかけの桜が風でちょっと散ってる。

o ニセ。送らてきたソースに

1/8*foo* ...
みたいな感じのコードを発見。 いくら foo が浮動小数でも頭から計算されるから 0 だよ…。

o 床屋へ。途中から煙が出現。逃げられない。

2007年3月31日(土)
晴れ。暖かい。

o 予備の Dreamcast を GET。

o 帰省するか。11時前に発。 着いたらなんかひんやりしている…。

o 父親が DVD を買っていたので魔笛を第1幕だけ見たり。ドイツ語じゃ分からん。

o 夜に猛烈に雷雨。

日記の表紙前月(如月)翌月(卯月)
ITOH Yasufumi