From owner-freebsd-current@FreeBSD.ORG Sat Jun 16 03:23:55 2007 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3837E16A41F for ; Sat, 16 Jun 2007 03:23:55 +0000 (UTC) (envelope-from Benjamin.Close@clearchain.com) Received: from ipmail03.adl2.internode.on.net (ipmail03.adl2.internode.on.net [203.16.214.135]) by mx1.freebsd.org (Postfix) with ESMTP id ABB4E13C447 for ; Sat, 16 Jun 2007 03:23:54 +0000 (UTC) (envelope-from Benjamin.Close@clearchain.com) X-IronPort-AV: E=Sophos;i="4.16,428,1175437800"; d="scan'208";a="103684674" Received: from ppp141-200.lns11.adl6.internode.on.net (HELO mail.clearchain.com) ([121.45.141.200]) by ipmail03.adl2.internode.on.net with ESMTP; 16 Jun 2007 12:53:52 +0930 Received: from [192.168.155.252] (draco.internal.clearchain.com [192.168.155.252]) (authenticated bits=0) by mail.clearchain.com (8.13.8/8.13.8) with ESMTP id l5G3Npko009813 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 16 Jun 2007 12:53:52 +0930 (CST) (envelope-from Benjamin.Close@clearchain.com) Message-ID: <467357C1.9020903@clearchain.com> Date: Sat, 16 Jun 2007 12:53:45 +0930 From: Benjamin Close User-Agent: Thunderbird 2.0.0.4 (Windows/20070604) MIME-Version: 1.0 To: Kris Kennaway References: <4672945C.3060304@clearchain.com> <20070615182521.GB9619@rot13.obsecurity.org> <46735745.5000401@clearchain.com> In-Reply-To: <46735745.5000401@clearchain.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV version 0.90.3, clamav-milter version 0.90.3 on pegasus.clearchain.com X-Virus-Status: Clean X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (mail.clearchain.com [192.168.154.1]); Sat, 16 Jun 2007 12:53:52 +0930 (CST) X-Mailman-Approved-At: Sat, 16 Jun 2007 03:49:44 +0000 Cc: freebsd-current@freebsd.org Subject: Re: Swapfile on ZFS & Deadlock X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jun 2007 03:23:55 -0000 Benjamin Close wrote: > Kris Kennaway wrote: >> On Fri, Jun 15, 2007 at 11:00:04PM +0930, Benjamin Close wrote: >> >>> Hi All, >>> Whilst running out of memory compiling Xorg (scanPCI is a killer) >>> I discovered a quick way to deadlock the system: >>> >>> dd if=/dev/zero of=somefileonzfs bs=something count=something >>> mdconfig -a -f something >>> swapon /dev/md0 >>> >>> Then do something that needs swap.. instant deadlock. The system is >>> still responsive but all disk access become hung. >>> >>> Known issue? If so is there a way we can warn users/prevent users >>> from doing it? >>> >> >> Enable DEBUG_VFS_LOCKS and DEBUG_LOCKS, then break to DDB when the >> deadlock occurs and do 'show lockedvnods'. >> > Ok, enabled the above and this time got: > > swap_pager: indefinite wait buffer: bufobj: 0, blkno: 312865, size: 16384 > > just before the deadlock: > > Show locked vnods returns (hand transcribed) > > 0xffffff002c3ab5d0: tagz zfs, type VREG > usecout 1, writecount 1, refcount 2 mountedhere 0 > flags() > v_object 0xffffff002f047c80 ref 0 pages 0 > lock type zfs: EXCL (count 1) by thread 0xffffff0030573360 (pid > 1188) > > Pid 1188 is: > > 1188 0 0 0 SL zfs:(&zi 0xffffff000208fd58 [md0] > > called doadump and though it went through the motions, savecore didn't > find anything saved. > Not sure what you need debugging wise, let me know. > > System is Intel Core 2 duo, running in SMP amd64, updated Friday 15th > June. > The box has 1G physical ram, 1G dedicated swap partition, but needs an > extra 300M to compile xf86ScanPCI.c (freaky!). > Figured a temp solution would be to allocate a 500M swap file on /var > which is zfs. Forgot to mention, this happens regardless of the state of vfs.zfs.prefetch_disable and there was ~200M swap free (in the swapfile, none in the partition) when it deadlocked. Cheers, Benjamin