Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: RAC in NAS
it simulates skgfaio in threads...no matter, still a good lower-half
test
From: Frits Hoogland [mailto:frits.hoogland_at_gmail.com] Sent: Saturday, July 29, 2006 9:40 AM To: kevinc_at_polyserve.com Cc: oracle-l_at_freelists.org Subject: Re: RAC in NAS exactly my point! I've seen oracle doing async IO with the 2.4 kernel doing othersystem calls (the kludgy stuff you mentioned), and oracle doing async IO with the 2.6 kernel (io_submit system call).
Ever looked at orion in conjunction with linux? It doesn't seem to do async IO.
frits
On 7/29/06, Kevin Closson <kevinc_at_polyserve.com> wrote:
>> on the other hand, if the system call is
the same, what
kind of magic is involved which makes oracle do asynchronous IO? The
system call must tell the operating system what kind of IO it wants to
do, either by doing a call which implies the kind of synchronousity, or
by setting a flag which alters the synchronousity.
...but the calls are not the same. If you strace 10g DBWR, after linking
in libaio and setting filesystemio_options=direcIO, you will see io_submit(2) calls which are new to 2.6 kernel. There really was no "real" async IO prior to the 2.6 kerenl. There was some kludgy stuff piggy-packed on the socket interface of all things, but it was crazy. Then , of course, if $ORACLE_HOME/lib/libodm* is a real ODM library you get async IO regardless of what libaio is and regardless of what init.ora parameters you set...when ODM is linked in, all the "async*" init.ora params are no-ops and filesystemio_options doesn't do anything either. You just get async IO -- http://www.freelists.org/webpage/oracle-l
-- http://www.freelists.org/webpage/oracle-lReceived on Sat Jul 29 2006 - 13:49:15 CDT
![]() |
![]() |