[SCore-users-jp] Re:[SCore-users-jp]OpenMPでのスタック
kameyama @ pccluster.org
kameyama @ pccluster.org
2004年 7月 2日 (金) 11:38:23 JST
亀山です.
In article <20040702105840k-ikegami @ mail.jp.nec.com> k-ikegami @ aj.jp.nec.com wrotes:
> 新たな発見として、/var/log/messegeの中に、
> スタックとほぼ同じ時間に”kernel: flag is not online"というログが
> 出力されていました。
> 何だろうと思い手当たり次第に検索してみたところ、
>
> http://www.pccluster.org/score/dist/pub/score-5.4.0/source/linux2.4.19.score.
> patch
> の中のpm_ethernet_rmawrite()の中に以下のコードがありました。
>
> + if(!(ctx->flags&EPM_ONLINE)) {
> + printk("flag is not online\n");
> + return -EBUSY;
> + }
>
> このif文が何を判定しているのか?ご教授頂けないでしょうか?
これは pmControlSend()
http://www.pccluster.org/score/dist/score/html/ja/man/man3/pmControlSend.html
を呼んで, コンテキストの転送を停止しているときに pmWrite()
http://www.pccluster.org/score/dist/score/html/ja/man/man3/pmWrite.html
を行おうとしたときに出力されるようです.
SCore では定期的 (single user mode では 10 秒ごと) に job を停止し,
メモリなどの使用情況のチェックや checkpoint などを行います.
pmControlSend() はそのときに使用されます.
(送信を止めて, たまっている受信の処理が終了したら上記処理を行います.)
このエラーはそのようなとき, 新たになにかを送信しようとしたときに
出力されるようです.
多分, scash のほうは成功するまで pmWrite() を繰り返しているので,
もしかすると, そのために受信処理ができなくなっているのかもしれません.
scored を multi user mode で起動させ, time slice を長くとってやると
少しは改善するかもしれません.
from Kameyama Toyohisa
SCore-users-jp メーリングリストの案内