From owner-freebsd-current@FreeBSD.ORG Fri May 15 17:17:15 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 1A6D1106566B for ; Fri, 15 May 2009 17:17:15 +0000 (UTC) (envelope-from ben@wanderview.com) Received: from mail.wanderview.com (mail.wanderview.com [66.92.166.102]) by mx1.freebsd.org (Postfix) with ESMTP id B66398FC19 for ; Fri, 15 May 2009 17:17:14 +0000 (UTC) (envelope-from ben@wanderview.com) Received: from harkness.in.wanderview.com (harkness.in.wanderview.com [10.76.10.150]) (authenticated bits=0) by mail.wanderview.com (8.14.3/8.14.3) with ESMTP id n4FHGswd002745 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Fri, 15 May 2009 17:16:54 GMT (envelope-from ben@wanderview.com) Message-Id: <6A55FF0C-EEE2-473A-867C-489E3F18463D@wanderview.com> From: Ben Kelly To: John Baldwin In-Reply-To: <200905121028.58998.jhb@freebsd.org> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v930.3) Date: Fri, 15 May 2009 13:17:09 -0400 References: <9A637B27-7C89-49BA-8385-A5B2D5D54BB3@wanderview.com> <200905121028.58998.jhb@freebsd.org> X-Mailer: Apple Mail (2.930.3) X-Spam-Score: -1.44 () ALL_TRUSTED X-Scanned-By: MIMEDefang 2.64 on 10.76.20.1 Cc: freebsd-current@freebsd.org, Robert Watson Subject: Re: [patch] corrupt memstat_kvm_malloc(3) output and dtrace 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: Fri, 15 May 2009 17:17:15 -0000 On May 12, 2009, at 10:28 AM, John Baldwin wrote: > On Wednesday 06 May 2009 1:00:09 am Ben Kelly wrote: >> On May 5, 2009, at 10:18 AM, Ben Kelly wrote: >>> While debugging a problem recently with Alexander Leidinger we >>> noticed that crashinfo(8) was producing corrupt vmstat -m output. >>> After doing some digging it appears that memstat_kvm_malloc(3) might >>> have been broken by this commit: >>> >>> http://svn.freebsd.org/viewvc/base?view=revision&revision=179222 >>> >>> The problem is that memstat_kvm_malloc(3) assumes that >>> malloc_type_internal starts with an array of malloc_types_stats >>> structures. This assumption is no longer true, though, as >>> mti_probes was inserted at the start of the structure. >>> >>> It appears that this (untested) patch might fix the problem: >>> >>> http://www.wanderview.com/svn/public/misc/zfs/vmstat_kvm_malloc.diff >>> >>> I'm not very familiar with dtrace, though. Does anyone know if this >>> would cause problems? >> >> Just FYI, I was able to recompile and test this patch tonight. It >> seems to have fixed vmstat -M $core -m output on my machine. > > I think that it would be better to update memstat_kvm_malloc(3) > though. I'm > also curious why libmemstat isn't just using malloc_types_internal > directly. I've updated the patch so that memstat_kvm_malloc(3) uses the malloc_type_internal definition to find the start of the statistics array. This also appears to fix the problem on my server. Thanks. - Ben