Hi Nicolas, > Here is the next version of the async I/O patch. It adds the documentation, > renames the testcases, uses "gthr.h", follows the style guidelines and has > been regression tested cleanly. > > As for adding additional flags, I think it would be better to follow ifort > to minimize complexity. > > The benchmark (not for the test suite) should also run on systems with > small stack sizes.
I didn't look at the code this time, just bootstrapped with the patch included on i386-pc-solaris2.11 and sparc-sun-solaris2.11. There are still problems: +FAIL: gfortran.dg/f2003_io_1.f03 -O0 execution test +FAIL: gfortran.dg/f2003_io_1.f03 -O1 execution test +FAIL: gfortran.dg/f2003_io_1.f03 -O2 execution test +FAIL: gfortran.dg/f2003_io_1.f03 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions execution test +FAIL: gfortran.dg/f2003_io_1.f03 -O3 -g execution test +FAIL: gfortran.dg/f2003_io_1.f03 -Os execution test on both 32 and 64-bit sparc and x86. The test always fails with STOP 3 FAIL: libgomp.fortran/async_io_1.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions execution test on 64-bit Solaris/x86 only (STOP 2). Also on 32-bit Solaris/x86, I had an instance of f2003_inquire_1.exe hang for 1 1/2 hours, although it should have been aborted by runtest after the usual 300 s timeout: +FAIL: gfortran.dg/f2003_inquire_1.f03 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions execution test +WARNING: program timed out. Looks like a deadlock: 4036: ./f2003_inquire_1.exe ------------ lwp# 1 / thread# 1 --------------- fd9b9db9 lwp_park (0, 0, 0) fd9b2f05 cond_wait_queue (80656a0, 8065688, 0, fd9b3433) + 60 fd9b34b4 __cond_wait (80656a0, 8065688, feff4e58, fd9b34f6) + 8f fd9b3504 cond_wait (80656a0, 8065688, feff4eb8, fd9b3534) + 24 fd9b3549 pthread_cond_wait (80656a0, 8065688, 583e6a5, fd9a4655) + 21 fddf3355 _gfortrani_async_wait (feff4fac, 8065640, feff4f2f, feff4fac) + 125 fddd0e38 _gfortran_st_close (feff4fac, feff4f61, 5, 8050f0b, feff50a8, feff5050) + 58 080514db MAIN__ (20202020, 20202020, 20202020, 20202020, 4f525020, 53534543) + 2cb 20202038 ???????? () ------------ lwp# 2 / thread# 2 --------------- fd9b9db9 lwp_park (0, 0, 0) fd9b2f05 cond_wait_queue (8065674, 806565c, 0, fd9b3433) + 60 fd9b34b4 __cond_wait (8065674, 806565c, fd7fef38, fd9b34f6) + 8f fd9b3504 cond_wait (8065674, 806565c, fd7fef58, fd9b3534) + 24 fd9b3549 pthread_cond_wait (8065674, 806565c, fd7fefa8, fddf0d96) + 21 fddf131d async_io (80631d0, fda08000, fd7fefc8, fd9b9a27) + 5cd (async.c:102) fd9b9a79 _thrp_setup (fdab0240) + 99 fd9b9d60 _lwp_start (0, 0, 0, 0, 0, 0) Rainer -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University