[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 メーリングリストの案内