From owner-freebsd-current@FreeBSD.ORG Sat Mar 6 15:53:19 2004 Return-Path: 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 5D3D216A4CE for ; Sat, 6 Mar 2004 15:53:19 -0800 (PST) Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0652943D1F for ; Sat, 6 Mar 2004 15:53:19 -0800 (PST) (envelope-from robert@fledge.watson.org) Received: from fledge.watson.org (localhost [127.0.0.1]) by fledge.watson.org (8.12.10/8.12.10) with ESMTP id i26NpwxC091684 for ; Sat, 6 Mar 2004 18:51:58 -0500 (EST) (envelope-from robert@fledge.watson.org) Received: from localhost (robert@localhost)i26NpwJU091681 for ; Sat, 6 Mar 2004 18:51:58 -0500 (EST) (envelope-from robert@fledge.watson.org) Date: Sat, 6 Mar 2004 18:51:57 -0500 (EST) From: Robert Watson X-Sender: robert@fledge.watson.org To: current@FreeBSD.org In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Subject: Re: Giant and timeouts and more timeouts, and more timeouts... and NFS. X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 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, 06 Mar 2004 23:53:19 -0000 Sorry, the below sample was '10 seconds', so divide all numbers by 10 for a per-second count. 300 timeouts a second for NFS, 25 for scrn_timer, etc. Robert N M Watson FreeBSD Core Team, TrustedBSD Projects robert@fledge.watson.org Senior Research Scientist, McAfee Research On Sat, 6 Mar 2004, Robert Watson wrote: > > I was playing a bit with mutex profiling this weekend, measuring mutex use > on the netperf_socket branch (which has the IPv4 and socket code running > Giant-free). I was a bit surprised to find a massive number of > timeout/callouts that require Giant running every second. I added a > little instrumentation to see just how much Giant was getting used, and > found the following in a short sample (1 second) on an idle system: > > none:/tmp> sysctl debug.to_gsample_reset=1 ; sleep 10 ; sysctl > debug.to_gsample > /tmp/sample ; wc /tmp/sample > debug.to_gsample_reset: 0 -> 0 > > paprika:/tmp> ./process.pl | ./count.pl | sort -nr > uhci_poll_hub: 41 > scrn_timer: 253 > rpcclnt_timer: 1007 > nfsrv_timer: 1007 > nfs_timer: 1007 > nd6_timer: 10 > loadav: 1 > in6_rr_timer: 2 > if_slowtimo: 10 > dasendorderedtag: 1 > comwakeup: 10 > > So that's 3000 timeouts a second for the NFS server and client code (even > though neither is used on this machine), each one of which will grab and > release Giant. That seems a little gratuitous to me... > > Robert N M Watson FreeBSD Core Team, TrustedBSD Projects > robert@fledge.watson.org Senior Research Scientist, McAfee Research > > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" >