HP-UX Reference (11i v3 07/02) - 5 Miscellaneous Topics (vol 9)

f
fcache_fb_policy(5) fcache_fb_policy(5)
(Tunable Kernel Parameters)
NAME
fcache_fb_policy - policy for flush behind requests from VxFS file system
VALUES
Failsafe
0
Default
0
Allowed values
Minimum: 0
Maximum: 1
DESCRIPTION
VxFS File System has a feature known as Flush Behind, which flushes out dirty pages belonging to a file
using asynchronous I/O. This is done when the number of dirty pages in memory for the file reaches a cer-
tain threshold. These flushes are controlled by a variety of VxFS tunables, such as:
write_pref_io,
max_diskq, write_throttle
, and write_nstream. Please see the vxtunefs(1M) manpage for
more details on the VxFS tunables.
The flush behind feature helps to keep the number of dirty pages associated with a file low. Flush behind
may also improve data integrity and avoid data corruption in case of a system crash. The disadvantage of
the flush behind, however, is the high overhead to initiate the I/O from the thread context. Moreover, re-
writes of data blocks may stall as I/Os may already be outstanding to the block due to a previous flush
behind.
HP-UX provides a Syncer daemon that satisfies the flush behind feature requirements to a large extent. It
runs approximately every 30 seconds (can be tuned) to flush dirty pages to guarantee file system integrity.
Please see the syncer(1M) manpage for more details on the
syncer daemon. It would be performance
optimal on HP-UX 11i V3 to disable VxFS flush behind and rely on the syncer daemon to ensure data avai-
lability and integrity in case of a system crash.
The fcache_fb_policy
tunable is used to determine the trade-off between write performance and data
availability. The
fcache_fb_policy
tunable has two settings:
fcache_fb_policy = 0
This setting is a high-performance setting, where no flush behind is implemented. Applications
shall depend on the syncer daemon to provide file data integrity. Or, the application must do
explicit flushing via fsync(2) if it wants to reduce the number of dirty pages on the system.
fcache_fb_policy = 1
This setting corresponds to the HP-UX 11i V2 default behavior. This setting enables file system
flush behind. It is designed to minimize the number of dirty pages for a file. A side-effect is that
it minimizes data loss, should a system failure occur before the syncer daemon had a chance to
flush the dirty pages to disk.
Who Is Expected to Change This Tunable?
System administrators who run applications that do large file writes may change this tunable.
Restrictions on Changing
Changes to this tunable will take effect immediately.
When Should the Value of This Tunable Be Changed?
This tunable should be changed from 0 to 1 if applications running on the system require more data
integrity than the HP-UX syncer daemon provides.
In addition, fcache_fb_policy should be changed to 1 if the VxFS tunable, write_throttle
,is
set. The
write_throttle tunable lets an administrator lower the number of dirty buffers per file that
the file system will generate before writing them to disk. The default value of write_throttle is zero.
The default value places no limit on the number of dirty buffers per file. With default
write_throttle
setting there is no problem by-passing flush behind. But if write_throttle is enabled, the application
performing writes may encounter longer delays as it waits for syncer to flush some of the dirty buffers
before the application can continue.
164 Hewlett-Packard Company 1 HP-UX 11i Version 3: February 2007