Module Name: src Committed By: ryo Date: Thu Dec 1 00:32:52 UTC 2022
Modified Files: src/sys/arch/aarch64/include: armreg.h src/sys/dev/tprof: tprof.c tprof.h tprof_armv7.c tprof_armv8.c tprof_ioctl.h tprof_types.h tprof_x86.c tprof_x86_amd.c tprof_x86_intel.c src/usr.sbin/tprof: tprof.8 tprof.c tprof_analyze.c Log Message: Improve tprof(4) - Multiple events can now be handled simultaneously. - Counters should be configured with TPROF_IOC_CONFIGURE_EVENT in advance, instead of being configured at TPROF_IOC_START. - The configured counters can be started and stopped repeatedly by PROF_IOC_START/TPROF_IOC_STOP. - The value of the performance counter can be obtained at any timing as a 64bit value with TPROF_IOC_GETCOUNTS. - Backend common parts are handled in tprof.c as much as possible, and functions on the tprof_backend side have been reimplemented to be more primitive. - The reset value of counter overflows for profiling can now be adjusted. It is calculated by default from the CPU clock (speed of cycle counter) and TPROF_HZ, but for some events the value may be too large to be sufficient for profiling. The event counter can be specified as a ratio to the default or as an absolute value when configuring the event counter. - Due to overall changes, API and ABI have been changed. TPROF_VERSION and TPROF_BACKEND_VERSION were updated. To generate a diff of this commit: cvs rdiff -u -r1.62 -r1.63 src/sys/arch/aarch64/include/armreg.h cvs rdiff -u -r1.18 -r1.19 src/sys/dev/tprof/tprof.c cvs rdiff -u -r1.6 -r1.7 src/sys/dev/tprof/tprof.h cvs rdiff -u -r1.9 -r1.10 src/sys/dev/tprof/tprof_armv7.c cvs rdiff -u -r1.17 -r1.18 src/sys/dev/tprof/tprof_armv8.c cvs rdiff -u -r1.4 -r1.5 src/sys/dev/tprof/tprof_ioctl.h \ src/sys/dev/tprof/tprof_x86_intel.c cvs rdiff -u -r1.5 -r1.6 src/sys/dev/tprof/tprof_types.h \ src/sys/dev/tprof/tprof_x86_amd.c cvs rdiff -u -r1.1 -r1.2 src/sys/dev/tprof/tprof_x86.c cvs rdiff -u -r1.16 -r1.17 src/usr.sbin/tprof/tprof.8 cvs rdiff -u -r1.13 -r1.14 src/usr.sbin/tprof/tprof.c cvs rdiff -u -r1.5 -r1.6 src/usr.sbin/tprof/tprof_analyze.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.