ZFS hang issue and prefetch_disable
Matt Simerson
matt at corp.spry.com
Tue Jul 22 22:22:24 UTC 2008
On Jul 22, 2008, at 3:08 PM, Miroslav Lachman wrote:
> Matt Simerson wrote:
>> Symptoms
>> Deadlocks under heavy IO load on the ZFS file system with
>> prefetch_disable=0. Setting vfs.zfs.prefetch_disable=1 results in
>> a stable system.
>
> [...]
>
>> With vfs.zfs.prefetch_disable=1, a hang will occur within a few
>> hours (no more than a day). If I keep the i/o load (measured via
>> iostat) down to a low level (< 200 iops) then I still get hangs
>> but less frequently (1-6 days). The only way I have found to
>> prevent the hangs is by setting vfs.zfs.prefetch_disable=1.
>
> "With vfs.zfs.prefetch_disable=1, a hang will occur within...", did
> you realy mean prefetch_disable=1 in this sentence? Your whole e-
> mail seems that prefetch_disable=1 is good workaround, so I expect
> you have prefetch_disable=0 previously which causes hangs...
Aye. That is exactly what I meant. With vfs.zfs.prefetch_disable=1,
I get a stable system. With vfs.zfs.prefetch_disable=0 (the default) I
have frequent deadlocks.
Matt
Rant: I really wish that variable wasn't named in the negative,
creating a double negative when prefetch_disable=0. IE, it should be
named vfs.zfs.prefetch_enable instead. It's much easier to express in
English that prefetch_enable=1 means ON and prefetch_enable=0 means
OFF. There's also the matter than in some languages, a double or
triple negative still means the negative case. %-\. I'd rather not
have to guess what prefetch_disable=1 means.
More information about the freebsd-fs
mailing list