From owner-freebsd-arch@FreeBSD.ORG Fri May 9 00:23:50 2003 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 844AD37B401; Fri, 9 May 2003 00:23:50 -0700 (PDT) Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by mx1.FreeBSD.org (Postfix) with ESMTP id DE6EF43FBD; Fri, 9 May 2003 00:23:48 -0700 (PDT) (envelope-from bde@zeta.org.au) Received: from katana.zip.com.au (katana.zip.com.au [61.8.7.246]) by mailman.zeta.org.au (8.9.3p2/8.8.7) with ESMTP id RAA27881; Fri, 9 May 2003 17:23:42 +1000 Date: Fri, 9 May 2003 17:23:41 +1000 (EST) From: Bruce Evans X-X-Sender: bde@gamplex.bde.org To: Kirk McKusick In-Reply-To: <200305081818.h48IItTh026354@beastie.mckusick.com> Message-ID: <20030509162725.N80145@gamplex.bde.org> References: <200305081818.h48IItTh026354@beastie.mckusick.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: arch@FreeBSD.org cc: Brian Buhrow cc: Jens Schweikhardt Subject: Re: Access times on executables (kern/25777) X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 May 2003 07:23:50 -0000 On Thu, 8 May 2003, Kirk McKusick wrote: > Since most filesystems are not mounted with -async, I am curious > how the numbers change when you run them normally (ufs with soft > updates and NFS client/server just normally) since that is what > folks are likely to really do. I wasn't very careful about this because it shouldn't matter since timestamps are always written with delayed writes in at least the non-soft updates case. Soft updates is not normal for me so I didn't have any file systems configured with it. My nfs server file system was actually mounted -noasync. I thought that this didn't matter either since the nfs case was broken. However ... > Also, does option 1 actually result > in access times being set on NFS, or are the times rejected because > the binaries are not owned by the user? ... Yes; they were under my home directory and I owned them all. method 1 seems to work perfectly in this case. tcpdump shows a nfs setattr request and reply for every transaction. The ping times to the server is 230 usec (100 Mbps ethernet), but the overhead isn't anywhere near that much, at least for doing back to back execs of the same file, since there is some magic (buffering of coalescing of transactions?): for 10000 execs without atime updates, tcpdump shows 10000 access transactions and no setattr transactions; with atime updates, it shows 10000 setattr transactions and only 6 or 7 access transactions. > ... > Raw output: > > %%% > ufs-static-noexec > 4.32 real 0.04 user 4.13 sys > 4.23 real 0.07 user 4.01 sys > 4.30 real 0.06 user 4.10 sys > ufs-static-static > method -1 > 7.02 real 0.06 user 6.77 sys > 7.10 real 0.07 user 6.83 sys > 7.09 real 0.06 user 6.83 sys >... > method 1 > 7.72 real 0.23 user 7.29 sys > 7.76 real 0.25 user 7.31 sys > 7.71 real 0.30 user 7.21 sys >... > method 2 > 7.83 real 0.07 user 7.56 sys > 7.84 real 0.27 user 7.37 sys > 7.82 real 0.28 user 7.34 sys > method 3 > 7.90 real 0.26 user 7.43 sys > 7.89 real 0.05 user 7.62 sys > 7.92 real 0.05 user 7.66 sys >... Some more times with -noasync (but not soft updates). The configuration has changed a little with larger effects than I can explain, so I repeated some tests with -async too. %%% ufs-static-noexec 4.29 real 0.22 user 3.93 sys 4.26 real 0.23 user 3.88 sys 4.25 real 0.18 user 3.93 sys ufs-static-static method -1 7.74 real 0.11 user 7.41 sys 7.70 real 0.18 user 7.29 sys 7.69 real 0.08 user 7.39 sys method 1/async 8.38 real 0.29 user 7.85 sys 8.34 real 0.11 user 8.00 sys 8.38 real 0.10 user 8.04 sys method 1/noasync 8.32 real 0.29 user 7.80 sys 8.36 real 0.26 user 7.86 sys 8.37 real 0.32 user 7.80 sys method 2/async 8.45 real 0.36 user 7.85 sys 8.49 real 0.28 user 7.97 sys 8.44 real 0.29 user 7.91 sys method 2/noasync 8.51 real 0.19 user 8.07 sys 8.44 real 0.06 user 8.13 sys 8.47 real 0.08 user 8.15 sys method 3/async 8.52 real 0.30 user 7.98 sys 8.53 real 0.30 user 7.99 sys 8.51 real 0.28 user 7.98 sys method 3/noasync 8.43 real 0.27 user 7.92 sys 8.44 real 0.23 user 7.96 sys 8.49 real 0.08 user 8.16 sys %%% Bruce