From owner-cvs-all@FreeBSD.ORG Tue Feb 7 21:22:03 2006 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7139016A420; Tue, 7 Feb 2006 21:22:03 +0000 (GMT) (envelope-from phk@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 18D6C43D46; Tue, 7 Feb 2006 21:22:03 +0000 (GMT) (envelope-from phk@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k17LM2Rf014273; Tue, 7 Feb 2006 21:22:02 GMT (envelope-from phk@repoman.freebsd.org) Received: (from phk@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k17LM2F1014272; Tue, 7 Feb 2006 21:22:02 GMT (envelope-from phk) Message-Id: <200602072122.k17LM2F1014272@repoman.freebsd.org> From: Poul-Henning Kamp Date: Tue, 7 Feb 2006 21:22:02 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/alpha/alpha mp_machdep.c src/sys/amd64/amd64 mp_machdep.c src/sys/i386/i386 mp_machdep.c src/sys/ia64/ia64 mp_machdep.c src/sys/kern init_main.c kern_exit.c kern_proc.c kern_resource.c kern_synch.c kern_tc.c subr_trap.c ... X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Feb 2006 21:22:03 -0000 phk 2006-02-07 21:22:02 UTC FreeBSD src repository Modified files: sys/alpha/alpha mp_machdep.c sys/amd64/amd64 mp_machdep.c sys/i386/i386 mp_machdep.c sys/ia64/ia64 mp_machdep.c sys/kern init_main.c kern_exit.c kern_proc.c kern_resource.c kern_synch.c kern_tc.c subr_trap.c sys/sparc64/sparc64 mp_machdep.c tick.c sys/sys pcpu.h proc.h systm.h Log: Modify the way we account for CPU time spent (step 1) Keep track of time spent by the cpu in various contexts in units of "cputicks" and scale to real-world microsec^H^H^H^H^H^H^H^Hclock_t only when somebody wants to inspect the numbers. For now "cputicks" are still derived from the current timecounter and therefore things should by definition remain sensible also on SMP machines. (The main reason for this first milestone commit is to verify that hypothesis.) On slower machines, the avoided multiplications to normalize timestams at every context switch, comes out as a 5-7% better score on the unixbench/context1 microbenchmark. On more modern hardware no change in performance is seen. Revision Changes Path 1.58 +1 -1 src/sys/alpha/alpha/mp_machdep.c 1.268 +1 -1 src/sys/amd64/amd64/mp_machdep.c 1.262 +1 -1 src/sys/i386/i386/mp_machdep.c 1.59 +1 -1 src/sys/ia64/ia64/mp_machdep.c 1.262 +2 -3 src/sys/kern/init_main.c 1.282 +3 -4 src/sys/kern/kern_exit.c 1.239 +1 -3 src/sys/kern/kern_proc.c 1.153 +12 -9 src/sys/kern/kern_resource.c 1.274 +4 -5 src/sys/kern/kern_synch.c 1.167 +21 -0 src/sys/kern/kern_tc.c 1.284 +1 -1 src/sys/kern/subr_trap.c 1.31 +1 -1 src/sys/sparc64/sparc64/mp_machdep.c 1.19 +17 -0 src/sys/sparc64/sparc64/tick.c 1.17 +1 -1 src/sys/sys/pcpu.h 1.450 +1 -1 src/sys/sys/proc.h 1.239 +3 -0 src/sys/sys/systm.h