[libfabric-users] [chuck at ece.cmu.edu: utility provider breaks fi_wait()]

Xiong, Jianxin jianxin.xiong at intel.com
Mon Sep 28 15:24:01 PDT 2020


FI_THREAD_SAFE is not guaranteed in the psm provider. In the past a lot of effort have been put into the psm2 provider to make it thread safe, but similar work was not done to the psm provider.

-Jianxin

> -----Original Message-----
> From: Hefty, Sean <sean.hefty at intel.com>
> Sent: Monday, September 28, 2020 1:44 PM
> To: Chuck Cranor <chuck at ece.cmu.edu>; Xiong, Jianxin <jianxin.xiong at intel.com>
> Cc: libfabric-users at lists.openfabrics.org; Pritchard Jr., Howard <howardp at lanl.gov>; Jerome Soumagne <jsoumagne at hdfgroup.org>
> Subject: RE: [chuck at ece.cmu.edu: utility provider breaks fi_wait()]
> 
> 
> >     PSM rejects setting the domain threading attribute to "FI_THREAD_SAFE"
> > even though the documentation in man/fi_domain.3.md says
> >
> > 	"All providers are required to support FI_THREAD_SAFE"
> >
> > is this an oversight in the PSM code?   I added FI_THREAD_SAFE
> > to psmx_init.c and it seems to work.   Is the following patch ok,
> > or are there more threading issues I should be aware of?
> >
> >
> > diff --git a/prov/psm/src/psmx_init.c b/prov/psm/src/psmx_init.c index
> > c0a93f44a..6b1263cef 100644
> > --- a/prov/psm/src/psmx_init.c
> > +++ b/prov/psm/src/psmx_init.c
> > @@ -453,6 +453,7 @@ static int psmx_getinfo(uint32_t version, const
> > char *node, const char *service,
> >  			case FI_THREAD_ENDPOINT:
> >  			case FI_THREAD_COMPLETION:
> >  			case FI_THREAD_DOMAIN:
> > +			case FI_THREAD_SAFE:
> >  				threading = hints->domain_attr->threading;
> >  				break;
> >  			default:
> 
> Copying the psm maintainer.  I don't know the answer.
> 
> - Sean


More information about the Libfabric-users mailing list