[SCore-users-jp] Re: [SCore-users] Developing with PM
Bogdan Costescu
bogdan.costescu @ iwr.uni-heidelberg.de
2002年 10月 23日 (水) 20:27:47 JST
On Wed, 23 Oct 2002, Atsushi HORI wrote:
> You have to call pmBeforeSelect() before calling select() or poll(), and
> you have to call pmAfterSelect() after calling select() or poll().
This is expressed in the documentation...
> By calling these two wrapping functions, you can avoid "FLOOD of
> INTERRUPTIONS" with Myrinet.
... and now we know why we have to do it :-)
> Further, when select() or poll() succeeds, however, it is NOT guaranteed
> that one or more PMM messages arrived indeed.
Huh ? So we have to check again the return code of pmReceive against
ENOBUFS ? Now I understand the reason for writting the select()-based code
in pmtest.c the way it is:
pmBeforeSelect
while (pmReceive == ENOBUFS) {
select()
}
pmAfterSelect
pmReleaseReceiveBuffer
> There is a race condition between the pmBeforeSelect() and select()
> calls.
I guess this is also avoided in the pmtest.c code.
Thank you for mentioning this !
--
Bogdan Costescu
IWR - Interdisziplinaeres Zentrum fuer Wissenschaftliches Rechnen
Universitaet Heidelberg, INF 368, D-69120 Heidelberg, GERMANY
Telephone: +49 6221 54 8869, Telefax: +49 6221 54 8868
E-mail: Bogdan.Costescu @ IWR.Uni-Heidelberg.De
_______________________________________________
SCore-users mailing list
SCore-users @ pccluster.org
http://www.pccluster.org/mailman/listinfo/score-users
SCore-users-jp メーリングリストの案内