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

Home -> Community -> Mailing Lists -> Oracle-L -> RE: linux DBA's: O_Direct

RE: linux DBA's: O_Direct

From: Kevin Closson <kevinc_at_polyserve.com>
Date: Tue, 22 Nov 2005 22:26:50 -0800
Message-ID: <B9782AD410794F4687F2B5B4A6FF3501021D5213@ex1.ms.polyserve.com>

 >>>Tell me: what happens to your free memory when you are 

>>>running a backup - or any large IO accross an ext3
>>>filesystem (a tar or even a tape backup..)

2 points:

  1. I haven't touched a RHAS 2.1 system in probably 2 years and the buffered filesystem glut issue has always been MUCH worse on RH than SuSE
  2. I don't really do a whole lot with Ext3 other than baseline it against our fully symmetric, distributed CFS...which supports direct IO/async IO and has since early 2002.

Not only does our filesystem support direct IO, but the way it is implemented
is very unique. It is a mount option, but that doesn't force all IO to be direct. What it does is render any IO that is properly aligned through
the direct IO path, but if an app is on a direct IO mounted PolyServe CFS
and happens to do an unaligned IO (say, 127bytes at offset 377 using a non-aligned
memory buffer) we will allocate a buffer from the page cache, DMA from it then
zap that page to maintain cache coherency.

So on our stuff, a perfect exampl of where this model makes sence is in archive redo logging. ARCH will spool with direct IO and then if the admin
desires, the file can be compressed/zipped. The IO for the compression will
be rendered direct, but the odds that an archived redo log will compress to
an exact 512byte multiple is nill, so when that last little bit needs to be written, our filesystem allocates a buffer and gets it done.

--
http://www.freelists.org/webpage/oracle-l
Received on Wed Nov 23 2005 - 00:29:03 CST

Original text of this message

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