From owner-freebsd-stable@FreeBSD.ORG Mon Oct 16 02:53:41 2006 Return-Path: X-Original-To: freebsd-stable@freebsd.org Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1C43816A416 for ; Mon, 16 Oct 2006 02:53:41 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from wx-out-0506.google.com (wx-out-0506.google.com [66.249.82.227]) by mx1.FreeBSD.org (Postfix) with ESMTP id D781543D5F for ; Mon, 16 Oct 2006 02:53:36 +0000 (GMT) (envelope-from adrian.chadd@gmail.com) Received: by wx-out-0506.google.com with SMTP id i27so1371734wxd for ; Sun, 15 Oct 2006 19:53:36 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:sender:to:subject:mime-version:content-type:x-google-sender-auth; b=HTLZS5OTM9ZYR1z2TZRSpg5ZxOBVkYVxBCJtQO5po8nz1uy8KWeYVjak76peI6hfbf+5NIQhwwJF1Qh6vrWjvxkwVmsxhGs7cZ43tzdYVU2pKUy2/sh7G0kFPFgWMz+6/3t05neb9Ce/t8+paKZyIpOUgT095IEB4Qiovctbvek= Received: by 10.90.71.12 with SMTP id t12mr3192894aga; Sun, 15 Oct 2006 19:53:36 -0700 (PDT) Received: by 10.90.66.16 with HTTP; Sun, 15 Oct 2006 19:53:36 -0700 (PDT) Message-ID: Date: Mon, 16 Oct 2006 10:53:36 +0800 From: "Adrian Chadd" Sender: adrian.chadd@gmail.com To: "FreeBSD Stable" MIME-Version: 1.0 X-Google-Sender-Auth: d9def3311d5827a3 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: kernel profiling? X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Oct 2006 02:53:41 -0000 Hiya, Whats the "right" way to grab kernel profiling data these days? I've tried using the kernel profiling w/ kgmon and gprof but the top CPU wasters are the profiling functions themselves, quickly followed by write_eflags(). I'm not sure this is valid at all. I'm running 6-stable on an Athlon 1800XP, so its uniprocessor and (relatively) slow. I'm hitting the server rather hard with a few thousand TCP connections a second; I'm trying to figure out where my ~60% of kernel time and ~35% of interrupt time is going. Thanks, Adrian -- Adrian Chadd - adrian@freebsd.org