トップ «前の日(02-29) 最新 次の日(03-02)» 追記

Orz日記 by Akio Morita

ToDo:

  • 15 SAD Fit[]回りの障害事例の解析
  • 10 smart pointer版PEGクラスの再実装(Left Recursionまわり)
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|06|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|07|08|09|10|11|12|
2013|01|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|06|07|08|10|12|
2016|01|02|03|05|06|08|10|11|
2017|01|02|03|04|05|06|07|09|10|11|12|
2018|01|02|03|04|06|07|08|09|10|11|12|
2019|01|03|04|05|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|

2011-03-02

_ [雑記][FreeBSD]ハングった

8.2-STABLEを installkernel/installworldしてリブートしたらハングった orz

どうやら、portsの更新で入った xf86-video-ati-6.14.0だとカードの初期化 時に固まる模様(pingにも答えなくなる)

古いドライバ(x11-drivers/xf86-video-at613)だと動くので、ドライバの デグレードな香りがします

portsのテストターゲットがRadeon HD3xxx系だし、 そろそろ Radeon Xシリーズはリプレースした方が良いのかな... (Radeon HD4250(AMD880G)は、6.14.0でも問題なく動いてるし)


2018-03-02

_ [SAD][EPICS]ca_pend_io & ca_pend_event

何かAPIが足りない気がする

  • ca_getの完了を待つにはca_pend_ioが必要
  • ca_pend_ioは、ca_pend_eventと異なりCAのbackgroud activityを処理しない
    • ca_pend_io中に届いたイベントの一部は喪失している & どこからのイベントがどれだけ失われたか分からない orz
  • ca_pend_envetは、ca_pend_ioと異なり ca_getの完了待ちに使えない
  • ca_pend_ioがECA_TIMEOUTするとca_get失敗が確定する
    • ca_getの完了をpollするAPIが無い

従って、ca_create_subscriptionしている状況で、ca_get + ca_pend_ioするとsubscription中のevent callbackの喪失が発生し得る&喪失したイベント発生元とイベント数が不明となる

結論…つかいものにならない

次善の策は?

やはり、AutoStart->FalseなCaMonitorからGetCBして、WaitValueするCaRead2互換実装作らないとだめか? (callbackベースなら、ca_pend_eventで回せる)

多分、CaOpen済みのハンドルを想定するなら、chidを受け取るConstructorを設けるのが吉(Destruct/ClearChannel時にca_clear_channelしないこと) 多分、chid modifierも受け取れる仕様にする必要があるか…

だんだん面倒な方向に…

CaMonitorのValueCBについて

arg->dbr->statusに関しては、格納する領域が無い模様(捨てられている)

CaRead互換の出力をするのであれば、インスタンス変数の割り当て・Query methodの実装とValueCBへの格納コードの実装が必要


カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記