zfs_prefetch_disable Parameter

Description

This parameter determines a file-level prefetching mechanism called zfetch. This mechanism looks at the patterns of reads to files and anticipates on some reads, thereby reducing application wait times. The current behavior suffers from two drawbacks:

Data Type

Boolean

Default

0 (enabled)

Range

0 (enabled) or 1 (disabled)

Dynamic?

Yes

Validation

No

When to Change

If the results of er_kernel show significant time in zfetch_* functions, or if lock profiling with lockstat shows contention around zfetch locks, and if the affected workload is critical, then disabling file level prefetching should be considered. Other workloads that are running concurrently can be degraded.

Commitment Level

Unstable