Re: RAC in NAS

  • From: "Frits Hoogland" <frits.hoogland@xxxxxxxxx>
  • To: kevinc@xxxxxxxxxxxxx
  • Date: Sat, 29 Jul 2006 18:40:11 +0200

exactly my point!

I've seen oracle doing async IO with the 2.4 kernel doing other system calls
(the kludgy stuff you mentioned), and oracle doing async IO with the
2.6kernel (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@xxxxxxxxxxxxx> 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

--
//www.freelists.org/webpage/oracle-l



Other related posts: