freebsd-skq/sys/i386/include
John Dyson 4f4d35edf0 This commit is meant to solve a couple of VM system problems or
performance issues.

	1) The pmap module has had too many inlines, and so the
	   object file is simply bigger than it needs to be.
	   Some common code is also merged into subroutines.
	2) Removal of some *evil* PHYS_TO_VM_PAGE macro calls.
	   Unfortunately, a few have needed to be added also.
	   The removal caused the need for more vm_page_lookups.
	   I added lookup hints to minimize the need for the
	   page table lookup operations.
	3) Removal of some bogus performance improvements, that
	   mostly made the code more complex (tracking individual
	   page table page updates unnecessarily).  Those improvements
	   actually hurt 386 processors perf (not that people who
	   worry about perf use 386 processors anymore :-)).
	4) Changed pv queue manipulations/structures to be TAILQ's.
	5) The pv queue code has had some performance problems since
	   day one.  Some significant scalability issues are resolved
	   by threading the pv entries from the pmap AND the physical
	   address instead of just the physical address.  This makes
	   certain pmap operations run much faster.  This does
	   not affect most micro-benchmarks, but should help loaded system
	   performance *significantly*.  DG helped and came up with most
	   of the solution for this one.
	6) Most if not all pmap bit operations follow the pattern:
		pmap_test_bit();
		pmap_clear_bit();
	   That made for twice the necessary pv list traversal.   The
	   pmap interface now supports only pmap_tc_bit type operations:
	   pmap_[test/clear]_modified, pmap_[test/clear]_referenced.
	   Additionally, the modified routine now takes a vm_page_t arg
	   instead of a phys address.  This eliminates a PHYS_TO_VM_PAGE
	   operation.
	7) Several rewrites of routines that contain redundant code to
	   use common routines, so that there is a greater likelihood of
	   keeping the cache footprint smaller.
1996-07-27 03:24:10 +00:00
..
pc
_limits.h
ansi.h Oops, this should have been with the ctype changes. 1996-05-01 00:47:05 +00:00
apm_bios.h Adds the APM hooks into the generic pccard kernel files. With this code 1996-04-23 16:03:08 +00:00
apm_segments.h
asc_ioctl.h
asmacros.h Jump some hoops to have the *.s code being able to be run through both an 1996-05-31 01:08:08 +00:00
bootinfo.h
cdk.h Add $Id$ 1996-05-04 08:42:14 +00:00
clock.h The Great PC98 Merge. 1996-06-14 11:02:28 +00:00
comstats.h Add $Id$ 1996-05-04 08:42:14 +00:00
conf.h
cons.h
console.h Change the way moused talk to syscons, now its only delivering mouseevents 1996-06-25 08:54:57 +00:00
cpu.h trap.c: 1996-06-25 20:02:16 +00:00
cpufunc.h Update to current state of PC98 world. 1996-07-23 07:46:59 +00:00
cputypes.h
cronyx.h
db_machdep.h
devconf.h The Great PC98 Merge. 1996-06-14 11:02:28 +00:00
endian.h
exec.h
float.h
floatingpoint.h
frame.h
gsc.h
ieeefp.h
in_cksum.h Add an incremental checksum update routine. Perhaps some i386 assembly 1996-05-23 20:11:48 +00:00
ioctl_ctx.h
ioctl_fd.h
ioctl_meteor.h A trailing patch Jim left out of the last commit. 1996-06-07 22:55:14 +00:00
ipl.h
joystick.h
laptops.h Updated the laptop 'kludge' file. Hopefully this can go away soon. 1996-04-22 22:29:40 +00:00
limits.h
lpt.h
md_var.h Moved declarations of non-cpu things from <machine/cpufunc.h> to better 1996-07-01 18:12:24 +00:00
mouse.h
mtpr.h
npx.h
param.h Another sweep over the pmap/vm macros, this time with more focus on 1996-05-03 21:01:54 +00:00
pcaudioio.h Introduce two /dev/audio compat alias names for flushing and draining 1996-07-17 20:18:56 +00:00
pcb.h Don't return unused values in cpu_switch() or savectx(). 1996-05-01 03:47:04 +00:00
pcvt_ioctl.h
perfmon.h Add support for Pentium and Pentium Pro performance counters. 1996-03-26 19:57:56 +00:00
pmap.h This commit is meant to solve a couple of VM system problems or 1996-07-27 03:24:10 +00:00
proc.h hp300 -> i386 1996-04-10 05:27:11 +00:00
profile.h
psl.h
ptrace.h
qcam.h Update to 1.1beta5d 1996-05-04 07:05:55 +00:00
random.h Reduced nesting of #includes in random.h and adjusted isa/random_machdep.c 1996-06-17 16:47:43 +00:00
reg.h
reloc.h
segments.h
si.h
signal.h
soundcard.h The Great PC98 Merge. 1996-06-14 11:02:28 +00:00
speaker.h
specialreg.h Added missing CR0_NW define for Cyrix 486DLC support. It's still not 1996-06-03 19:37:38 +00:00
spigot.h
spl.h Fixed lots of warnings about unportable casts of pointers to volatile 1996-07-01 20:16:10 +00:00
stdarg.h
sysarch.h
trap.h
tss.h
types.h
ultrasound.h
varargs.h
vmparam.h removed: 1996-05-02 14:21:14 +00:00
wtio.h