public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Janne Blomqvist <blomqvist.janne@gmail.com>
To: Jerry DeLisle <jvdelisle@verizon.net>
Cc: FX Coudert <fxcoudert@gmail.com>,
	Fortran List <fortran@gcc.gnu.org>,
	  gcc-patches <gcc-patches@gcc.gnu.org>
Subject: Re: [patch, fortran]PR25829 Add support for F2003 I/O features
Date: Mon, 17 Mar 2008 07:52:00 -0000	[thread overview]
Message-ID: <47DE1495.5000306@gmail.com> (raw)
In-Reply-To: <47DDB5F3.20700@verizon.net>

Jerry DeLisle wrote:
> AFAICT we can avoid breaking ABI, All the async workings will occur in 
> unix.c and uses the revised unix_stream structure which is allocated at 
> run time. Similarly, we have changes in gfc_unit which are allocated at 
> run time, the dtp structure is changed. It adds decimal_status. If ABI 
> is critical, we can move that to gfc_unit or do it a little 
> differently.

IMHO ABI compatibility is critical. Having to recompile every single 
piece of Fortran code in order to upgrade the compiler is a problem for 
some people. Not to say that upgrading might be downright impossible if 
they use some library delivered in binary form (e.g. ACML).

The C++ library has some ABI tests in 
libstdc++-v3/testsuite/libstdc++-abi , perhaps libgfortran could do 
something similar? Another option could be to run the 4.3 testsuite 
using the libgfortran from 4.4 (maybe as easy as copying the 4.4 
libgfortran into the directory where 4.3 is installed?).

>  We do add one new symbol to gfortran.map which we should 
> version, but otherwise no impact.

For 4.4 we should put new symbols into a new version node GFORTRAN_1.1 
as documented at http://gcc.gnu.org/wiki/SymbolVersioning

> The approach I am planning will hide asynchronous operations in unix.c.  
> The standard allows a lot of flexibility here, including ignoring the 
> requests and waiting for I/O to complete as we are now, or only doing it 
> when we want, for example, on large arrays only.

IIRC on Linux AIO requires that the file is opened with O_DIRECT, and 
that all I/O is page size (typically 4 KB) aligned. The AIO syscalls do 
work if these conditions are not met, but internally they fall back to a 
normal synchronous I/O. I think there are some efforts to rectify this, 
but I don't think they have been committed to the mainline kernel yet. 
Just something to keep in mind when you want to benchmark the 
implementation.


-- 
Janne Blomqvist

  reply	other threads:[~2008-03-17  6:50 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-16 21:48 Jerry DeLisle
2008-03-16 22:03 ` FX Coudert
2008-03-17  0:25   ` Jerry DeLisle
2008-03-17  7:52     ` Janne Blomqvist [this message]
2008-03-29 17:45 Tobias Burnus
2008-03-29 19:57 ` Jerry DeLisle
2008-04-01  4:31 ` Jerry DeLisle
2008-04-01 11:47   ` Tobias Burnus
2008-04-01 14:15     ` Jerry DeLisle
     [not found]       ` <47F494AC.30003@net-b.de>
2008-04-05  9:24         ` Jerry DeLisle
2008-04-05  9:27           ` Jerry DeLisle
2008-04-01 14:15     ` Jerry DeLisle
2008-04-01 21:10 Tobias Burnus
2008-04-04  4:53 ` Jerry DeLisle
2008-04-05 12:21 Tobias Burnus
2008-04-05 16:30 ` Jerry DeLisle
2008-04-05 17:31   ` NightStrike
2008-04-05 17:58     ` Jerry DeLisle
     [not found]   ` <47F7FE02.3070407@net-b.de>
     [not found]     ` <1207454811.15229.2.camel@lenova.localdomain>
2008-04-06 10:00       ` Tobias Burnus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=47DE1495.5000306@gmail.com \
    --to=blomqvist.janne@gmail.com \
    --cc=fortran@gcc.gnu.org \
    --cc=fxcoudert@gmail.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=jvdelisle@verizon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).