From owner-freebsd-fs@FreeBSD.ORG Wed Jul 23 08:19:33 2008 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C35D4106567D for ; Wed, 23 Jul 2008 08:19:33 +0000 (UTC) (envelope-from pjd@garage.freebsd.pl) Received: from mail.garage.freebsd.pl (chello087206045140.chello.pl [87.206.45.140]) by mx1.freebsd.org (Postfix) with ESMTP id 360528FC33 for ; Wed, 23 Jul 2008 08:19:33 +0000 (UTC) (envelope-from pjd@garage.freebsd.pl) Received: by mail.garage.freebsd.pl (Postfix, from userid 65534) id 03D5545B36; Wed, 23 Jul 2008 10:19:28 +0200 (CEST) Received: from localhost (pjd.wheel.pl [10.0.1.1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.garage.freebsd.pl (Postfix) with ESMTP id 22EA2456AB; Wed, 23 Jul 2008 10:19:25 +0200 (CEST) Date: Wed, 23 Jul 2008 10:19:30 +0200 From: Pawel Jakub Dawidek To: Matt Simerson Message-ID: <20080723081930.GB3603@garage.freebsd.pl> References: <5E8D64DE-EC9B-4B11-BCB4-17BA63650BB7@corp.spry.com> <48865A68.1010504@quip.cz> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="zx4FCpZtqtKETZ7O" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.3i X-PGP-Key-URL: http://people.freebsd.org/~pjd/pjd.asc X-OS: FreeBSD 8.0-CURRENT i386 X-Spam-Checker-Version: SpamAssassin 3.0.4 (2005-06-05) on mail.garage.freebsd.pl X-Spam-Level: X-Spam-Status: No, score=-5.9 required=3.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham version=3.0.4 Cc: freebsd-fs@freebsd.org Subject: Re: ZFS hang issue and prefetch_disable X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Jul 2008 08:19:33 -0000 --zx4FCpZtqtKETZ7O Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Jul 22, 2008 at 03:22:17PM -0700, Matt Simerson wrote: >=20 > On Jul 22, 2008, at 3:08 PM, Miroslav Lachman wrote: >=20 > >Matt Simerson wrote: > >>Symptoms > >>Deadlocks under heavy IO load on the ZFS file system with =20 > >>prefetch_disable=3D0. Setting vfs.zfs.prefetch_disable=3D1 results in = =20 > >>a stable system. > > > >[...] > > > >>With vfs.zfs.prefetch_disable=3D1, a hang will occur within a few =20 > >>hours (no more than a day). If I keep the i/o load (measured via =20 > >>iostat) down to a low level (< 200 iops) then I still get hangs =20 > >>but less frequently (1-6 days). The only way I have found to =20 > >>prevent the hangs is by setting vfs.zfs.prefetch_disable=3D1. > > > >"With vfs.zfs.prefetch_disable=3D1, a hang will occur within...", did = =20 > >you realy mean prefetch_disable=3D1 in this sentence? Your whole e-=20 > >mail seems that prefetch_disable=3D1 is good workaround, so I expect =20 > >you have prefetch_disable=3D0 previously which causes hangs... >=20 > Aye. That is exactly what I meant. With vfs.zfs.prefetch_disable=3D1, = =20 > I get a stable system. With vfs.zfs.prefetch_disable=3D0 (the default) I = =20 > have frequent deadlocks. >=20 > Matt >=20 > Rant: I really wish that variable wasn't named in the negative, =20 > creating a double negative when prefetch_disable=3D0. IE, it should be = =20 > named vfs.zfs.prefetch_enable instead. It's much easier to express in = =20 > English that prefetch_enable=3D1 means ON and prefetch_enable=3D0 means = =20 > OFF. There's also the matter than in some languages, a double or =20 > triple negative still means the negative case. %-\. I'd rather not =20 > have to guess what prefetch_disable=3D1 means.=20 I agree. We even discussed sysctl naming in the past AFAIR to use exactly 'enable', not 'disable' variants. Although I want to track Solaris as close as possible, that's why I'm using what they have. The intent is to make it easier for people to use ZFS on both Solaris and FreeBSD by not introducing small, but anoying differences. --=20 Pawel Jakub Dawidek http://www.wheel.pl pjd@FreeBSD.org http://www.FreeBSD.org FreeBSD committer Am I Evil? Yes, I Am! --zx4FCpZtqtKETZ7O Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4 (FreeBSD) iD8DBQFIhumSForvXbEpPzQRAiQYAKDw3lAwoYgMPGCkihOV+1tNI8+CYwCgyjiK pFuRtO5DF/gOiBGVweoehJ0= =EyyP -----END PGP SIGNATURE----- --zx4FCpZtqtKETZ7O--