Re: [HACKERS] Safe/Fast I/O ...

From: Andrew Martin <martin(at)biochemistry(dot)ucl(dot)ac(dot)uk>
To: Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: [HACKERS] Safe/Fast I/O ...
Date: 1998-04-22 11:21:42
Message-ID: 199804221121.LAA00813@bsmir06.biochem.ucl.ac.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> > As David Gould mentioned, we need to do pre-fetching of data pages
> > somehow.
> >
> > When doing a sequential scan on a table, the OS is doing a one-page
> > prefetch, which is probably enough. The problem is index scans of the
> > table. Those are not sequential in the main heap table (unless it is
> > clustered on the index), so a prefetch would help here a lot.
> >
> > That is where we need async i/o. I am looking in BSDI, and I don't see
> > any way to do async i/o. The only way I can think of doing it is via
> > threads.
>
> I found it. It is an fcntl option. From man fcntl:
>
> O_ASYNC Enable the SIGIO signal to be sent to the process group when
> I/O is possible, e.g., upon availability of data to be read.
>
> Who else supports this?
>

under Irix:

man fcntl:

F_SETFL Set file status flags to the third argument, arg, taken as an
object of type int. Only the following flags can be set [see
fcntl(5)]: FAPPEND, FSYNC, FNDELAY, FNONBLK, FDIRECT, and
FASYNC. Since arg is used as a bit vector to set the flags,
values for all the flags must be specified in arg. (Typically,
arg may be constructed by obtaining existing values by F_GETFL
and then changing the particular flags.) FAPPEND is equivalent
to O_APPEND; FSYNC is equivalent to O_SYNC; FNDELAY is
equivalent to O_NDELAY; FNONBLK is equivalent to O_NONBLOCK;
and FDIRECT is equivalent to O_DIRECT. FASYNC is equivalent to
calling ioctl with the FIOASYNC command (except that with ioctl
all flags need not be specified). This enables the SIGIO
facilities and is currently supported only on sockets.

....but then I can find no details of FIOASYNC on the ioctl page or pages
referenced therein.

Andrew

----------------------------------------------------------------------------
Dr. Andrew C.R. Martin University College London
EMAIL: (Work) martin(at)biochem(dot)ucl(dot)ac(dot)uk (Home) andrew(at)stagleys(dot)demon(dot)co(dot)uk
URL: http://www.biochem.ucl.ac.uk/~martin
Tel: (Work) +44(0)171 419 3890 (Home) +44(0)1372 275775

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jose' Soares Da Silva 1998-04-22 11:39:51 Re: [QUESTIONS] errors on transactions and locks ?
Previous Message Igor Sysoev 1998-04-22 07:36:23 Re: [HACKERS] subselect and optimizer