Veritas File System 5.0 Administrator's Guide (September 2006)
transferred to disk synchronously before the write returns to the user. If the file
is not extended by the write, the times are updated in memory, and the call returns
to the user. If the file is extended by the operation, the inode is written before the
write returns.
The direct I/O and VX_DSYNC advisories are maintained on a per-file-descriptor
basis.
Data synchronous I/O vs. synchronous I/O
Like direct I/O, the data synchronous I/O feature can provide significant
application performance gains. Because data synchronous I/O maintains the same
data integrity as synchronous I/O, it can be used in many applications that
currently use synchronous I/O. If the data synchronous I/O does not allocate
storage or extend the file, the inode is not immediately written. The data
synchronous I/O does not have any alignment constraints, so applications that
find it difficult to meet the alignment constraints of direct I/O should use data
synchronous I/O.
If the file is being extended or storage is allocated, data synchronous I/O must
write the inode change before returning to the application. This case eliminates
the performance advantage of data synchronous I/O.
Concurrent I/O
If the VX_CONCURENT advisory is set, I/O behavior is the same as direct I/O. As
such, the alignment constraints that apply to direct I/O also apply to concurrent
I/O. However, the I/O is performed by taking the inode read/write lock in shared
mode instead of exclusive mode. The required concurrency control should be
performed by the application.
Cache advisories
VxFS allows an application to set cache advisories for use when accessing files.
VxFS cache advisories enable applications to help monitor the buffer cache and
provide information on how better to tune the buffer cache to improve performance
gain.
The basic function of the cache advisory is to let you know whether you could
have avoided a later re-read of block X if the buffer cache had been a little larger.
Conversely, the cache advisory can also let you know that you could safely reduce
the buffer cache size without putting block X into jeopardy.
VxFS I/O Overview
Concurrent I/O
66