Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: linux DBA's: O_Direct
>>>Tell me: what happens to your free memory when you are
2 points:
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-lReceived on Wed Nov 23 2005 - 00:29:03 CST
![]() |
![]() |