Re: [HACKERS] Safe/Fast I/O ...
От | Andrew Martin |
---|---|
Тема | Re: [HACKERS] Safe/Fast I/O ... |
Дата | |
Msg-id | 199804221121.LAA00813@bsmir06.biochem.ucl.ac.uk обсуждение исходный текст |
Ответы |
Re: [HACKERS] Safe/Fast I/O ...
|
Список | 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@biochem.ucl.ac.uk (Home) andrew@stagleys.demon.co.uk URL: http://www.biochem.ucl.ac.uk/~martin Tel: (Work) +44(0)171 419 3890 (Home) +44(0)1372 275775
В списке pgsql-hackers по дате отправления: