From owner-freebsd-fs@FreeBSD.ORG Mon Aug 1 12:56:03 2011 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 F35FF106566B; Mon, 1 Aug 2011 12:56:02 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from mail.vx.sk (mail.vx.sk [IPv6:2a01:4f8:100:1043::3]) by mx1.freebsd.org (Postfix) with ESMTP id 84F338FC0A; Mon, 1 Aug 2011 12:56:02 +0000 (UTC) Received: from core.vx.sk (localhost [127.0.0.1]) by mail.vx.sk (Postfix) with ESMTP id 7636618CC71; Mon, 1 Aug 2011 14:56:01 +0200 (CEST) X-Virus-Scanned: amavisd-new at mail.vx.sk Received: from mail.vx.sk ([127.0.0.1]) by core.vx.sk (mail.vx.sk [127.0.0.1]) (amavisd-new, port 10024) with LMTP id XJhVVyT6C9T3; Mon, 1 Aug 2011 14:55:59 +0200 (CEST) Received: from [10.9.8.3] (chello085216231078.chello.sk [85.216.231.78]) by mail.vx.sk (Postfix) with ESMTPSA id 4335018CC6A; Mon, 1 Aug 2011 14:55:59 +0200 (CEST) Message-ID: <4E36A25F.7000000@FreeBSD.org> Date: Mon, 01 Aug 2011 14:55:59 +0200 From: Martin Matuska User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20110624 Thunderbird/5.0 MIME-Version: 1.0 To: Steven Hartland References: <0D449EC916264947AB31AA17F870EA7A@multiplay.co.uk> <4E3013DF.10803@FreeBSD.org> <3D6CEB50BEDD4ACE96FD35C4D085618A@multiplay.co.uk> <4E301C55.7090105@FreeBSD.org> <5C84E7C8452E489C8CA738294F5EBB78@multiplay.co.uk> <4E301F10.6060708@FreeBSD.org> <63705B5AEEAD4BB88ADB9EF770AB6C76@multiplay.co.uk> <4E302204.2030009@FreeBSD.org> <6703F0BB-D4FC-4417-B519-CAFC62E5BC39@bitgravity.com> <04C305AE5F184C6AAC2A67CE23184013@multiplay.co.uk> <3D893A9B-2CD9-40EB-B4A2-5DBCBB72C62E@bitgravity.com> <4E35D2E5.4020108@FreeBSD.org> <0E851F439C384186A1D44A347C19A7D7@multiplay.co.uk> In-Reply-To: <0E851F439C384186A1D44A347C19A7D7@multiplay.co.uk> X-Enigmail-Version: 1.2 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: freebsd-fs@FreeBSD.org, Andriy Gapon Subject: Re: zfs process hang on pool access 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: Mon, 01 Aug 2011 12:56:03 -0000 Dňa 1. 8. 2011 1:33, Steven Hartland wrote / napísal(a): > ----- Original Message ----- From: "Martin Matuska" > > >> I walked through all occurences of ddi_get_lbolt() in the ZFS code and >> this is the only place where it is incorrectly initialized. >> This is how it should look like. >> >> =================================================================== >> --- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c (revision >> 224527) >> +++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c (working copy) >> @@ -488,7 +488,7 @@ >> txg_delay(dsl_pool_t *dp, uint64_t txg, int ticks) >> { >> tx_state_t *tx = &dp->dp_tx; >> - int timeout = ddi_get_lbolt() + ticks; >> + clock_t timeout = ddi_get_lbolt() + ticks; > > So you recon that one line will fix the 100+ days overflow David's > talking about? No, this bug causes that after 28,5 days of uptime this function won't delay txg sync threads anymore (ddi_get_lbolt() will be always larger than timeout).This may lead to a slowdown of writes. -- Martin Matuska FreeBSD committer http://blog.vx.sk