<br><tt><font size=2>robl@mcs.anl.gov (Robert Latham) wrote on 02/15/2008
12:48:50 PM:<br>
> > ADIOI_BGL_SetInfo, /* SetInfo */<br>
> > - ADIOI_GEN_ReadStrided, /* ReadStrided */<br>
> > - ADIOI_NOLOCK_WriteStrided, /* WriteStrided */<br>
> > + ADIOI_GEN_ReadStrided_naive, /*ADIOI_GEN_ReadStrided,
* ReadStrided */<br>
> > + ADIOI_GEN_WriteStrided_naive, /*ADIOI_NOLOCK_WriteStrided,
* <br>
> WriteStrided */<br>
> > ADIOI_BGL_Close, /* Close */<br>
> > #ifdef ROMIO_HAVE_WORKING_AIO<br>
> > ADIOI_GEN_IreadContig, /* IreadContig */<br>
> <br>
> NOLOCK is a litte smarter than Naiive in the "noncontig in memory<br>
> contig in file" case. In that situation, NOLOCK will perform
write<br>
> combining and do fewer writes. <br>
> <br>
> GEN_ReadStrided is safe for PVFS. We're just reading additional
data,<br>
> not trying to do an atomic read-modify-write.<br>
</font></tt>
<br><tt><font size=2>Ok, but the problem I had was non-PVFS. Your
patch enables ad_ufs. So someone *could* use ufs:filename on non-PVFS,
whether we think that makes sense or not. So I tried the romio testcase
on GPFS and NFS using -fname ufs:test. The noncontig tests failed
with ADIOI_NOLOCK_WriteStrided. They worked with ADIOI_GEN_WriteStrided_naive.</font></tt>
<br>
<br><tt><font size=2>So we have to make this patch satisfy PVFS and non-PVFS
to ship it in the product. Will naive work for you? It was
the simplest patch I could think of to get romio tests working. Or should
we take the approach that we only allow ad_ufs on PVFS? Put some
hooks in to fail if someone uses ufs: on non-pvfs?</font></tt>
<br>