d6b9e17eb5
- use a more accurate and more efficient method of compensating for overheads. The old method counted too much time against leaf functions. - normally use the Pentium timestamp counter if available. On Pentiums, the times are now accurate to within a couple of cpu clock cycles per function call in the (unlikely) event that there are no cache misses in or caused by the profiling code. - optionally use an arbitrary Pentium event counter if available. - optionally regress to using the i8254 counter. - scaled the i8254 counter by a factor of 128. Now the i8254 counters overflow slightly faster than the TSC counters for a 150MHz Pentium :-) (after about 16 seconds). This is to avoid fractional overheads. files.i386: permon.c temporarily has to be classified as a profiling-routine because a couple of functions in it may be called from profiling code. options.i386: - I586_CTR_GUPROF is currently unused (oops). - I586_PMC_GUPROF should be something like 0x70000 to enable (but not use unless prof_machdep.c is changed) support for Pentium event counters. 7 is a control mode and the counter number 0 is somewhere in the 0000 bits (see perfmon.h for the encoding). profile.h: - added declarations. - cleaned up separation of user mode declarations. prof_machdep.c: Mostly clock-select changes. The default clock can be changed by editing kmem. There should be a sysctl for this. subr_prof.c: - added copyright. - calibrate overheads for the new method. - documented new method. - fixed races and and machine dependencies in start/stop code. mcount.c: Use the new overhead compensation method. gmon.h: - changed GPROF4 counter type from unsigned to int. Oops, this should be machine-dependent and/or int32_t. - reorganized overhead counters. Submitted by: Pentium event counter changes mostly by wollman
56 lines
1.3 KiB
Plaintext
56 lines
1.3 KiB
Plaintext
# $Id: options.i386,v 1.23 1996/10/09 19:47:07 bde Exp $
|
|
BOUNCEPAGES opt_bounce.h
|
|
USER_LDT
|
|
MATH_EMULATE opt_math_emulate.h
|
|
GPL_MATH_EMULATE opt_math_emulate.h
|
|
|
|
IBCS2 opt_dontuse.h
|
|
COMPAT_LINUX opt_dontuse.h
|
|
|
|
SHOW_BUSYBUFS opt_machdep.h
|
|
PANIC_REBOOT_WAIT_TIME opt_machdep.h
|
|
MAXMEM opt_machdep.h
|
|
PERFMON opt_perfmon.h
|
|
AUTO_EOI_1 opt_auto_eoi.h
|
|
AUTO_EOI_2 opt_auto_eoi.h
|
|
BREAK_TO_DEBUGGER opt_comconsole.h
|
|
COMCONSOLE opt_comconsole.h
|
|
COM_ESP opt_sio.h
|
|
COM_MULTIPORT opt_sio.h
|
|
DSI_SOFT_MODEM opt_sio.h
|
|
I586_CTR_GUPROF opt_i586_guprof.h
|
|
I586_PMC_GUPROF opt_i586_guprof.h
|
|
FAT_CURSOR opt_pcvt.h
|
|
PCVT_FREEBSD opt_pcvt.h
|
|
PCVT_SCANSET opt_pcvt.h
|
|
XSERVER opt_pcvt.h
|
|
|
|
AHC_TAGENABLE opt_aic7xxx.h
|
|
AHC_SCBPAGING_ENABLE opt_aic7xxx.h
|
|
|
|
CLK_CALIBRATION_LOOP opt_clock.h
|
|
CLK_USE_I8254_CALIBRATION opt_clock.h
|
|
CLK_USE_I586_CALIBRATION opt_clock.h
|
|
|
|
I386_CPU opt_cpu.h
|
|
I486_CPU opt_cpu.h
|
|
I586_CPU opt_cpu.h
|
|
I686_CPU opt_cpu.h
|
|
|
|
I586_FAST_BCOPY opt_temporary.h
|
|
I586_OPTIMIZED_BCOPY opt_temporary.h
|
|
I586_OPTIMIZED_BZERO opt_temporary.h
|
|
|
|
SC_KBD_PROBE_WORKS opt_syscons.h
|
|
SC_SPLASH_SCREEN opt_syscons.h
|
|
MAXCONS opt_syscons.h
|
|
SLOW_VGA opt_syscons.h
|
|
XT_KEYBOARD opt_syscons.h
|
|
|
|
ATAPI opt_atapi.h
|
|
ATAPI_STATIC opt_atapi.h
|
|
|
|
USERCONFIG opt_userconfig.h
|
|
VISUAL_USERCONFIG opt_userconfig.h
|
|
USERCONFIG_BOOT opt_userconfig.h
|