From owner-freebsd-current@FreeBSD.ORG Sat Apr 12 05:06:47 2008 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9290B106566C for ; Sat, 12 Apr 2008 05:06:47 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from pooker.samsco.org (pooker.samsco.org [168.103.85.57]) by mx1.freebsd.org (Postfix) with ESMTP id 0F73C8FC14 for ; Sat, 12 Apr 2008 05:06:46 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from phobos.samsco.home (phobos.samsco.home [192.168.254.11]) (authenticated bits=0) by pooker.samsco.org (8.13.8/8.13.8) with ESMTP id m3C4j252071696; Fri, 11 Apr 2008 22:45:03 -0600 (MDT) (envelope-from scottl@samsco.org) Message-ID: <48003E47.4090006@samsco.org> Date: Fri, 11 Apr 2008 22:44:55 -0600 From: Scott Long User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.13) Gecko/20080313 SeaMonkey/1.1.9 MIME-Version: 1.0 To: Julian Elischer References: <48002444.4030505@elischer.org> In-Reply-To: <48002444.4030505@elischer.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-1.4 required=5.4 tests=ALL_TRUSTED autolearn=failed version=3.1.8 X-Spam-Checker-Version: SpamAssassin 3.1.8 (2007-02-13) on pooker.samsco.org Cc: FreeBSD Current Subject: Re: stack hogs in kernel 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: Sat, 12 Apr 2008 05:06:47 -0000 Julian Elischer wrote: > > A few years ago I took a profile of stack hogs in the kernel. > I just redid the exercise... > > http://people.freebsd.org/~julian/stack-hogs.txt > > > the worst offenders in MY (2 month old) kernel are: > > 0xc05667e3 kldstat [kernel]: 2100 > 0xc07214f8 sendsig [kernel]: 1416 > 0xc04fb426 ugenread [kernel]: 1200 > 0xc070616b ipmi_smbios_identify [kernel]: 1136 > 0xc050bd26 usbd_new_device [kernel]: 1128 > 0xc0525a83 pfs_readlink [kernel]: 1092 > 0xc04fb407 ugenwrite [kernel]: 1056 > 0xc055ea33 prison_enforce_statfs [kernel]: 1044 > 0xc0686e8a nfsrv_rename [kernel]: 984 > 0xc05d0886 m_copymdata [kernel]: 956 > 0xc06605a3 nfs4_mount [kernel]: 884 > 0xc0561e25 kse_switchin [kernel]: 848 > 0xc0680ac6 nfsrv_statfs [kernel]: 828 > 0xc0439473 cam_periph_error [kernel]: 820 > 0xc071ff36 sigreturn [kernel]: 812 > 0xc067e876 nfsrv_fsinfo [kernel]: 804 > 0xc05fe7b3 freebsd4_fhstatfs [kernel]: 804 > 0xc0571272 sysctl_out_proc [kernel]: 804 > 0xc067ebf7 nfsrv_fsinfo [kernel]: 804 > 0xc0571006 sysctl_out_proc [kernel]: 804 > 0xc044b743 cddone [kernel]: 800 > 0xc06862cf nfsrv_link [kernel]: 796 I'll take a look at cddone(). I see where the problem is, but it's hard to fix correctly. However, the call chain leading to and from cddone is pretty small and unlikely to recurse; I seriously doubt that it will cause problems. Scott