From owner-freebsd-current@FreeBSD.ORG Thu Feb 2 18:13:37 2006 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F0A9A16A422 for ; Thu, 2 Feb 2006 18:13:37 +0000 (GMT) (envelope-from gallatin@cs.duke.edu) Received: from duke.cs.duke.edu (duke.cs.duke.edu [152.3.140.1]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4061943D46 for ; Thu, 2 Feb 2006 18:13:34 +0000 (GMT) (envelope-from gallatin@cs.duke.edu) Received: from grasshopper.cs.duke.edu (grasshopper.cs.duke.edu [152.3.145.30]) by duke.cs.duke.edu (8.13.4/8.13.4) with ESMTP id k12IDYJW007272 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Thu, 2 Feb 2006 13:13:34 -0500 (EST) Received: (from gallatin@localhost) by grasshopper.cs.duke.edu (8.12.9p2/8.12.9/Submit) id k12IDSOo070467; Thu, 2 Feb 2006 13:13:28 -0500 (EST) (envelope-from gallatin) From: Andrew Gallatin MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <17378.19400.856354.995643@grasshopper.cs.duke.edu> Date: Thu, 2 Feb 2006 13:13:28 -0500 (EST) To: freebsd-current@freebsd.org X-Mailer: VM 6.75 under 21.1 (patch 12) "Channel Islands" XEmacs Lucid Subject: hwpmc & kernel modules? 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: Thu, 02 Feb 2006 18:13:38 -0000 I'm currently doing a driver for a 10GbE nic, and now that it works, I'm disappointed to find that FreeBSD is considerably slower than Linux & Solaris on the same hardware (8Gb/s vs 5Gb/s). My driver is currently a module, and I'm having problems figuring out how much time my driver is using. Is there any way to profile kernel modules with hwpmc? It seems like the kgmon samples ignore loadable modules entirely. Is it possible to do what solaris does for crashdumps, and build an elf file with the modules linked in at their current locations? This would be helpful for post-mortum debugging too.. Thanks, Drew