freebsd-skq/sys
dyson 293abd3564 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
..
alpha Change the way moused talk to syscons, now its only delivering mouseevents 1996-06-25 08:54:57 +00:00
amd64 This commit is meant to solve a couple of VM system problems or 1996-07-27 03:24:10 +00:00
compat/linux Removed unused #include. Linux doesn't support SCO consoles. 1996-06-23 17:08:11 +00:00
compile
conf Update to current state of PC98 world. 1996-07-23 07:46:59 +00:00
ddb A small bit of defensive programming in case the panic is during process 1996-06-15 07:08:02 +00:00
dev ttysleep() can return EWOULDBLOCK, not ETIMEDOUT as the comment in tty.c 1996-07-26 16:55:37 +00:00
fs Implement locking for pfs nodes, when at the leaf. Concurrent access 1996-07-02 13:38:10 +00:00
geom Fail when odd number of disks are specified with mirror flag. Memory 1996-07-24 23:45:24 +00:00
gnu Added #include of <machine/md_var.h>. This will be needed when 1996-06-25 20:31:01 +00:00
i386 This commit is meant to solve a couple of VM system problems or 1996-07-27 03:24:10 +00:00
isa Make a "DWIM" function for adding [bc]devsw entries for bdev drivers. 1996-07-23 21:52:43 +00:00
isofs/cd9660 Moved the fsnode MALLOC to before the call to getnewvnode() so that the 1996-06-12 03:36:23 +00:00
kern This commit is meant to solve a couple of VM system problems or 1996-07-27 03:24:10 +00:00
libkern General -Wall warning cleanup, part I. 1996-07-12 18:57:58 +00:00
miscfs DEVFS needs a special bdevvp(). 1996-07-24 21:22:36 +00:00
modules Added or restored #include of <machine/md_var.h>. Some declarations 1996-07-01 20:29:10 +00:00
msdosfs The Great PC98 Merge. 1996-06-14 11:02:28 +00:00
net Fix a bug in ifa_ifwithnet() which caused a page fault in bcmp() 1996-07-24 19:59:53 +00:00
netatalk Submitted by: archie@whistle.com 1996-07-23 22:00:14 +00:00
netinet Eliminate some more references to separate ip_v and ip_hl fields. 1996-07-24 18:46:19 +00:00
netipx Clean up -Wunused warnings. 1996-06-12 05:11:41 +00:00
netkey This is the `netkey' kernel key-management service (the PF_KEY analogue 1996-06-14 17:22:18 +00:00
netns finish killing off netns. (For some reason, CVS `undeleted' these 1996-02-13 18:19:17 +00:00
nfs Various fixes from frank@fwi.uva.nl (Frank van der Linden) via 1996-07-16 10:19:45 +00:00
nfsclient Various fixes from frank@fwi.uva.nl (Frank van der Linden) via 1996-07-16 10:19:45 +00:00
nfsserver Various fixes from frank@fwi.uva.nl (Frank van der Linden) via 1996-07-16 10:19:45 +00:00
pc98 Update to current state of PC98 world. 1996-07-23 07:46:59 +00:00
pccard Added #include of <machine/md_var.h>. This will be needed when 1996-06-25 20:31:01 +00:00
pci FINALLY: PCI support for the Lance Ethernet driver. 1996-07-18 22:03:47 +00:00
powerpc/include Add commands for ptrace get/set registers.. (Same numbers as NetBSD) 1996-01-24 18:51:48 +00:00
rpc Fix a bunch of spelling errors in the comment fields 1996-01-30 23:33:04 +00:00
scsi Make a "DWIM" function for adding [bc]devsw entries for bdev drivers. 1996-07-23 21:52:43 +00:00
sys Rename KERN_DOMAINNAME to KERN_NISDOMAINNAME so that it can't be confused 1996-07-25 18:02:40 +00:00
tools Another mega commit to staticize things. 1995-12-14 09:55:16 +00:00
ufs Don't use NULL in non-pointer contexts. 1996-07-12 04:12:25 +00:00
vm This commit is meant to solve a couple of VM system problems or 1996-07-27 03:24:10 +00:00
Makefile The Great PC98 Merge. 1996-06-14 11:02:28 +00:00