ブログってもしかたない

一言メッセージ :帰ってきました。

  • お気に入りブログに登録

UNIX

[ リスト ]

usbserフリーズ問題対応パッチ

SolarisのUSBシリアルがSMP環境でフリーズする問題に対応するパッチを作成しました。

免責

このドライバーで発生するいかなる損害も補償しません。自己責任で使用して下さい。

ダウンロード

以下のURLからダウンロードして下さい。
http://chototsumoushinp.dip.jp/solaris/usbser.tar.bz2

バグの原因

usbser_tx_cbコールバック内でport_rq_threadと処理が重なった場合、port_wq_threadを起こさないケースがあります。このため書き込みがストールしてしまいます。

これはシングルプロセッサではまず発生しません。
しかしマルチプロセッサ環境ではport_rq_threadとport_wq_threadが同時に動くため、かなりの確率で発生するものと思われます。

疑問点

STREAMSのマニュアル(man srv)を読むと、サービス関数内ですべてのメッセージを処理しろと書かれています。
     Once the STREAMS scheduler calls a srv()  routine,  it  must
     process  all  messages on its queue. 

しかし、usbser_wsrv内ではqueueの中身を処理せず、port_wq_threadを起こすだけでreturnしてしまいます。
これで問題は起きないのでしょうか?STREAMSについてはあまり良く知らないため、これで良いのかどうか判断出来ません。
どなたかご教授願います。

閉じる コメント(1)

顔アイコン

忙しくてこの数日間、ブログを拝見してなかったのですが、いつの間に!凄いです!

これで昔年の恨みが解決しそう(笑)

試してみますね。

2008/8/25(月) 午後 11:11 [ 瀧 / 紅呪 ]

コメント投稿
名前パスワードブログ
投稿

閉じる トラックバック(0)

トラックバックされた記事

トラックバックされている記事がありません。

トラックバック先の記事

  • トラックバック先の記事がありません。

.

プロフィール画像アバター画像

ブログプロフィール表示chototsu_moushinpメッセージを送信

プロフィール画像(クリックで拡大表示)

人気度

ヘルプ

  今日 全体
訪問者 12 58635
ファン 0 11
コメント 0 765
トラックバック 0 16
  • My Yahoo!に追加
  • RSS
  • RSSとは?

ケータイで見る

モバイル版Yahoo!ブログにアクセス!

モバイル版Yahoo!ブログにアクセス!

URLをケータイに送信
(Yahoo! JAPAN IDでのログインが必要です)

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

開設日: 2007/5/24(木)


プライバシーの考え方 -  利用規約 -  ガイドライン -  順守事項 -  ヘルプ・お問い合わせ

Copyright (C) 2009 Yahoo Japan Corporation. All Rights Reserved.