Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> REPOST: Re: Async I/O is NOT supppressed for filesystem datafiles in 8.1.5?

REPOST: Re: Async I/O is NOT supppressed for filesystem datafiles in 8.1.5?

From: Yong Huang <yong321_at_yahoo.com>
Date: 31 Dec 2001 11:03:54 -0800
Message-ID: <6$--$$-$-%$_%_-__$@news.noc.cabal.int>


Hi, El,

I still think this is just a matter of wording. Suppose the parameters disk_asynch_io and _filesystemio_options are not tampered with and Oracle and Solaris versions are fairly recent. Indeed the Sun or Oracle articles are inaccurate. The Sun paper should say "*kernelized* aio is suppressed for file system based files, not aio in general" (unless you define aio as kaio and exclude the lwp-based aio emulation as non-aio; Really, do people call lwp-based aio emulation aio or not? Isn't that the origin of all this debate?). The Oracle paper is still OK; Oracle doesn't know how aiowrite(3) is implemented by Solaris, whether by kaio(2) or libaio(3) emulation. But the Oracle paper shouldn't say a word about suppression or not, exactly because it passes the implementation to OS.

Does that answer your question? I don't have friends at Sun. I only posted the messages they posted to some discussion list early this year.

Again, my own test on 8.1.7.2 on Solaris 2.6 shows that if disk_asynch_io is true, kaio() is attempted by DBWR with ENOTSUP returned, followed by lwp_cond_signal(), lwp_cond_wait() and pwrite64(). If disk_asynch_io is false, pwrite64() is not preceded by kaio() and the lwp_cond_XX calls. I didn't see a fstat(2) call in truss. Maybe you used a slightly older version of Oracle or Solaris? As Bob Sneed's message says, the logic is do kaio, if that fails, do lwp-based aio. Solaris does not use ioctl (you said fstat) to test whether it's raw prior to kaio, because that's too expensive. But the failed kaio call (if failed), is very lightweight, and so I infer that turning off aio (lwp-based) with disk_asynch_io in Oracle only sligtly helps.

Yong Huang
yong321_at_yahoo.com

autocancel Received on Mon Dec 31 2001 - 13:03:54 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US