From owner-freebsd-current@FreeBSD.ORG Mon Apr 27 06:22:01 2009 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 29C1B106566B for ; Mon, 27 Apr 2009 06:22:01 +0000 (UTC) (envelope-from mcdouga9@egr.msu.edu) Received: from mx.egr.msu.edu (surfnturf.egr.msu.edu [35.9.37.164]) by mx1.freebsd.org (Postfix) with ESMTP id E79B18FC0C for ; Mon, 27 Apr 2009 06:22:00 +0000 (UTC) (envelope-from mcdouga9@egr.msu.edu) Received: from localhost (localhost [127.0.0.1]) by mx.egr.msu.edu (Postfix) with ESMTP id 5B65171EFD8; Mon, 27 Apr 2009 02:22:00 -0400 (EDT) X-Virus-Scanned: amavisd-new at egr.msu.edu Received: from mx.egr.msu.edu ([127.0.0.1]) by localhost (surfnturf.egr.msu.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dsN8ifj-i+6l; Mon, 27 Apr 2009 02:22:00 -0400 (EDT) Received: from localhost (daemon.egr.msu.edu [35.9.44.65]) by mx.egr.msu.edu (Postfix) with ESMTP id 3324D71EEE9; Mon, 27 Apr 2009 02:22:00 -0400 (EDT) Received: by localhost (Postfix, from userid 21281) id 30810614; Mon, 27 Apr 2009 02:22:00 -0400 (EDT) Date: Mon, 27 Apr 2009 02:22:00 -0400 From: Adam McDougall To: Ben Kelly Message-ID: <20090427062159.GS1012@egr.msu.edu> References: <49C2CFF6.8070608@egr.msu.edu> <08D7DC2A-68BE-47B6-8D5D-5DE6B48F87E5@wanderview.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.19 (2009-01-05) Cc: freebsd-current@freebsd.org Subject: Re: [patch] zfs livelock and thread priorities 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: Mon, 27 Apr 2009 06:22:01 -0000 On Sat, Apr 25, 2009 at 01:49:33PM -0400, Ben Kelly wrote: On Apr 24, 2009, at 11:59 PM, Artem Belevich wrote: > Ah! Indeed. > >> va_list va; >> va_start(ap, fmt); >> va_copy(va, ap); >> vsnprintf(p2->p_comm, sizeof(p2->p_comm), fmt, va); >> vsnprintf(td->td_name, sizeof(td->td_name), fmt, ap); > > We also need va_end(va) to clear up after va_copy(); I've updated the patch to use va_copy(). Unfortunately I don't have an AMD64 machine to test on at the moment. However, I did look at other places in the kernel where va_copy() is used so I am hopeful I got it right. Thanks again for the help! - Ben I have the patch running on a amd64 desktop at home, so far so good and I'll run some portupgrades overnight. Assuming no huge problems with that, I have one or more systems at work I can try it with as well, as I have time.