OpenBSD/sgi install battle

Onyx350、Tezro、FuelにOpenBSDを インストールした時の記録です。 OpenBSD開発者のMiod Vallatさんが、 対応してくださいました。 Miod-san,ARIGATO!!
9
前へ 1 ・・ 13 14
Lucky owner/capturer @nullnilaki

このぶぶんは、将来OdysseyでXが動くようになった時に、 絶対問題になるから、今の内にしっかりなおしておかないと....

2013-12-30 12:36:23
Miod Vallat @MiodVallat

@nullnilaki This is an interrupt problem. I think I have fixed it this morning in pci/iofreg.h 1.5.

2013-12-30 14:28:41

おまけの知識

Izumi Tsutsui @tsutsuii

というわけで受信も動いた。やれやれ…… http://t.co/0IeJbKxGg4

2013-12-31 03:57:15
拡大
Lucky owner/capturer @nullnilaki

@tsutsuii softint(9)を使うと、割り込み処理の重さが低い?ということですか?

2013-12-31 04:13:06
Izumi Tsutsui @tsutsuii

@nullnilaki 140字で説明するのはとても難しい…… http://t.co/Velmlk4kEa

2013-12-31 04:14:32
Lucky owner/capturer @nullnilaki

@tsutsuii キーボードで例えると、入力されたキーコードだけ拾ってキューに入れて、あとで画面に表示する的なものと理解しました。

2013-12-31 04:22:07
Izumi Tsutsui @tsutsuii

もともと softint(9) の意図は、他の割り込みがブロックされる割り込みルーチン内では本当に緊急度の高い処理(≒受信データをバッファに放り込むまで)だけ実施して、受信データを tty層に投げる処理は後回しにする(softint(9) で「後でやる処理」を登録する)ということ

2013-12-31 04:19:57
Izumi Tsutsui @tsutsuii

で、割り込みルーチン内で直接 tty層に投げるところまでやってしまった場合、大昔の実装では他の割り込みが待たされるだけで済んでいたけれど、いまどきのSMP実装では tty層のロックが必要なので、tty層を高割り込み優先度の状態から呼んではいけないという制約がある(たぶん)。

2013-12-31 04:24:38
Izumi Tsutsui @tsutsuii

かなり前からLUNAの高負荷時にキーボード叩くと固まる現象があって、キーボードの方は受信処理が単純なので受信バッファ作って softint で処理するように直した(で、ハングもしなくなった)んだけど、シリアルの方は受信エラーもバッファしないといけなくてかなりめんどくさかったという

2013-12-31 04:27:32
Izumi Tsutsui @tsutsuii

そもそもシリアルのドライバって com(4) と z8530tty(4) くらいしかなくて、厳密にバッファ制御やエラー処理入れるとハードフローや速度のような設定変更も絡んでかなりややこしくなるので、どこまで手抜きして softint だけを実装するかというのが課題だったのでした

2013-12-31 04:29:24
Lucky owner/capturer @nullnilaki

@tsutsuii なるほど、だから、シリアルコンソールでviとか使うと、 固まってお手上げだったんだ! とっても困ってました!

2013-12-31 04:29:17
Izumi Tsutsui @tsutsuii

@nullnilaki まあ、だからスクリーンコンソールばっかりで作業していたという。もっとも、厳密に検証したわけじゃなくて たぶんそういうことだろ で書いて固まらなくなった(ような気がする)という手抜き(ヽ´ω`)

2013-12-31 04:33:30
Lucky owner/capturer @nullnilaki

@nonakapさんに教えてもらった spltty と splx と Tezroのキーボード対応で学んだ知識が早速役に立った?

2013-12-31 04:33:52
前へ 1 ・・ 13 14