From owner-freebsd-commit Fri Dec 29 07:47:18 1995 Return-Path: owner-commit Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id HAA26638 for freebsd-commit-outgoing; Fri, 29 Dec 1995 07:47:18 -0800 (PST) Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id HAA26620 for cvs-all-outgoing; Fri, 29 Dec 1995 07:47:12 -0800 (PST) Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id HAA26606 for cvs-usrbin-outgoing; Fri, 29 Dec 1995 07:47:09 -0800 (PST) Received: (from bde@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id HAA26589 Fri, 29 Dec 1995 07:47:06 -0800 (PST) Date: Fri, 29 Dec 1995 07:47:06 -0800 (PST) From: Bruce Evans Message-Id: <199512291547.HAA26589@freefall.freebsd.org> To: CVS-committers, cvs-usrbin Subject: cvs commit: src/usr.bin/gprof gprof.h Sender: owner-commit@FreeBSD.ORG Precedence: bulk bde 95/12/29 07:47:03 Modified: usr.bin/gprof gprof.h Log: Implemented non-statistical kernel profiling. This is based on looking at a high resolution clock for each of the following events: function call, function return, interrupt entry, interrupt exit, and interesting branches. The differences between the times of these events are added at appropriate places in a ordinary histogram (as if very fast statistical profiling sampled the pc at those places) so that ordinary gprof can be used to analyze the times. gmon.h: Histogram counters need to be 4 bytes for microsecond resolutions. They will need to be larger for the 586 clock. The comments were vax-centric and wrong even on vaxes. Does anyone disagree? gprof4.c: The standard gprof should support counters of all integral sizes and the size of the counter should be in the gmon header. This hack will do until then. (Use gprof4 -u to examine the results of non-statistical profiling.) config/*: Non-statistical profiling is configured with `config -pp'. `config -p' still gives ordinary profiling. kgmon/*: Non-statistical profiling is enabled with `kgmon -B'. `kgmon -b' still enables ordinary profiling (and distables non-statistical profiling) if non-statistical profiling is configured. Revision Changes Path 1.3 +4 -0 src/usr.bin/gprof/gprof.h