Commit Graph

127 Commits

Author SHA1 Message Date
dg
1e019a48f4 New routine "pmap_kenter", designed to take advantage of the special
case of the kernel pmap.
1994-03-30 02:17:47 +00:00
dg
f7910aeee7 ifdef KERNEL the pmap_kextract inline function; ps is unhappy otherwise.
Pointed out by Frank Terhaar-Yonkers <fty@vislab.epa.gov>.
1994-03-25 22:08:59 +00:00
dg
ec5d7b5c7e From John Dyson: performance improvements to the new bounce buffer
code.
1994-03-24 23:12:48 +00:00
dg
7b347f30ed Bounce buffers. From John Dyson with help from me. 1994-03-23 09:16:04 +00:00
ache
612db61d81 Now printf("changing root... indicates raw partition for floppy
f.e. fd1d
1994-03-21 15:02:47 +00:00
ache
ab27a1193d Fix printf for root system mounted on second floppy 1994-03-21 14:53:08 +00:00
ache
09cd9488b1 Fix for root system mounted on second floppy 1994-03-21 14:37:01 +00:00
dg
3e0459c08b Changed dynamic stack grow code to grow by "SGROWSIZ" amount. Initially
allocate SGROWSIZ amount of stack. Also set vm_ssize to the initial
stack VM size. Increased DFLSSIZ stack rlimit default to 8MB.
1994-03-21 09:35:24 +00:00
wollman
53c2bd41fe Added cpu_model and machine variables. 1994-03-19 23:58:58 +00:00
dg
7fa73b404d Performance improvements from John Dyson.
1) A new mechanism has been added to prevent pages from being paged
	out called "vm_page_hold". Similar to vm_page_wire, but
	much lower overhead.
2) Scheduling algorithm has been changed to improve interactive
	performance.
3) Paging algorithm improved.
4) Some vnode and swap pager bugs fixed.
1994-03-14 21:54:03 +00:00
dg
0ae8ede005 1) enhanced in_cksum from Bruce Evans.
2) minor comment change in machdep.c
3) enhanced bzero from John Dyson (twice as fast on a 486DX/33)
1994-03-07 11:47:32 +00:00
dg
921445b0ad 1) "Pre-faulting" in of pages into process address space
Eliminates vm_fault overhead on process startup and
		mmap referenced data for in-memory pages.

		(process startup time using in-memory segments *much* faster)

	2)	Even more efficient pmap code.  Code partially cleaned up.
		More comments yet to follow.

		(generally more efficient pte management)

	3)	Pageout clustering ( in addition to the FreeBSD V1.1 pagein
		clustering.)

		(much faster paging performance on non-write behind disk
		subsystems, slightly faster performance on other systems.)

	4)	Slightly changed vm_pageout code for more efficiency and
		better statistics.  Also, resist swapout a little more.

		(less likely to pageout a recently used page)

	5)	Slight improvement to the page table page trap efficiency.

		(generally faster system VM fault performance)

	6)	Defer creation of unnamed anonymous regions pager until needed.

		(speeds up shared memory bss creation)

	7)	Remove possible deadlock from swap_pager initialization.

	8)	Enhanced procfs to provide "vminfo" about vm objects and user
		pmaps.

	9)	Increased MCLSHIFT/MCLBYTES from 2K to 4K to improve net &
		socket performance and to prepare for things to come.

John Dyson
dyson@implode.root.com
David Greenman
davidg@root.com
1994-03-07 11:38:49 +00:00
hsu
f96a55ed4c Correct definitions of flags used by sigreturn to validate sigcontext. 1994-02-24 00:21:12 +00:00
hsu
7ee5a38daf validate sigcontext before restoring it 1994-02-24 00:18:04 +00:00
dg
15251dd011 Fixed bug in handling of COW - the original code was bogus and it was
only accidental that it worked. Also, don't cache non-managed pages.
1994-02-13 08:29:33 +00:00
dg
4652ec337f Patch from John Dyson:
a pv chain was being traversed while interrupts were
	fully enabled in pmap_remove_all ... this is bogus, and
	has been fixed in pmap.c. (sorry for adding the splimp)
1994-02-10 03:03:44 +00:00
dg
65cd9bbcfa From: Dave Matthews <dave@prlng.co.uk>
Description:
The integer overflow instruction (into) and the interrupt instruction with
value 4 (int #4) both give rise to SIGBUS signals rather than SIGFPE.  The
problem is that overflow is a trap not a fault (unlike the BOUND instruction).
1994-02-08 12:58:44 +00:00
dg
36c282dabe Fixed bugs in stack grow code, and moved it back into a seperate function
like it was originally. Also added back call to "grow" in sendsig now
that this routine actually works.
1994-02-08 09:26:04 +00:00
dg
b51b5209db Fixes from John Dyson to fix out-of-memory hangs and other problems (such
as increased swap space usage) related to (incorrectly) paging out the
page tables.
1994-02-08 03:07:58 +00:00
dg
1c4b593eab Fixed calculation of physmem when the special MAXMEM kernel config overide
is used. This bug caused the buffer cache to be WAY too big when memory
was being restricted - resulting in hangs and other out of memory problems.
1994-02-07 07:44:42 +00:00
dg
f396bedc92 At the suggestion of Bruce Evans, don't zero RTC diag register. Doing so
was causing problems for some machines.
1994-02-06 22:48:13 +00:00
dg
6e2ba658a0 Minor cleanup. Decode state information better in the case of a fatal
trap.
1994-02-01 23:07:35 +00:00
dg
8ffd124eff Bug fix from previous WINE commit. From Jeffrey Hsu. 1994-02-01 10:03:43 +00:00
dg
b91448568c Removed all uses of "USE_486_WRITE_PROTECT" and made this automatic.
Reordered and removed some NOP's.
1994-02-01 04:09:07 +00:00
dg
52b9b80a1f Added four pattern memory test routine that is done at startup.
...added filli - "fill integer" support routine.
1994-01-31 23:48:23 +00:00
dg
def72d7043 Added four pattern memory test routine that is done at startup. 1994-01-31 23:47:29 +00:00
dg
cf889d65c0 WINE/user LDT support from John Brezak, ported to FreeBSD by Jeffrey Hsu
<hsu@soda.berkeley.edu>.
1994-01-31 10:27:13 +00:00
dg
ded24b396c Make I/O memory explicitly non-cacheable. This is purely an asthetic
change.
1994-01-31 04:39:37 +00:00
dg
81f854031a VM system performance improvements from John Dyson and myself. The
following is a summary:

1) increased object cache back up to a more reasonable value.
2) removed old & bogus cruft from machdep.c (clearseg, copyseg,
	physcopyseg, etc).
3) inlined many functions in pmap.c
4) changed "load_cr3(rcr3())" into tlbflush() and made tlbflush inline
	assembly.
5) changed the way that modified pages are tracked - now vm_page struct
	is kept updated directly - no more scanning page tables.
6) removed lots of unnecessary spl's
7) removed old unused functions from pmap.c
8) removed all use of page_size, page_shift, page_mask variables - replaced
	with PAGE_ constants.
9) moved trunc/round_page, atop, ptoa, out of vm_param.h and into i386/
	include/param.h, and optimized them.
10) numerous changes to sys/vm/ swap_pager, vnode_pager, pageout, fault
	code to improve performance. LRU algorithm modified to be more
	effective, read ahead/behind values tuned for better performance,
	etc, etc...
1994-01-31 04:19:00 +00:00
dg
569a68ab45 Removed no longer used "wire" element in pv struct. 1994-01-27 03:36:14 +00:00
dg
948b8017ea Made pmap_is_managed a static inline function. 1994-01-27 03:35:42 +00:00
rgrimes
a03d7e9477 Now prints ``on eisa'' if id_iobase >= 0x1000, and made a slight code
cleanup for the other 2 cases of ``on motherboard'' and ``on isa''.
1994-01-22 21:52:04 +00:00
dg
ae2cd968c2 Remove some old, unused, major UGLY code. 1994-01-21 17:11:38 +00:00
dg
7609eaeebe System V IPC code from Danny Boulet, chewed on a bit by the NetBSD group
and then some more by Jeffrey Hsu (who provided this port for FreeBSD).
1994-01-21 09:56:05 +00:00
dg
8de67466c8 Pointed out by Wolfgang Solfrank:
Correct parameters of sync
1994-01-20 23:17:39 +00:00
dg
fca08d8117 Removed some more old unused code/comments. Added hack to "fix" the
problem with some chipsets (UMC) remapping the 'hole' memory even when
you've got 16MB. People were led to believe that since there was only
16MB of memory in the machine, that they were okay wrt the ISA DMA
limit. This hack simply causes the extra memory to be ignored if it
appears around the 16MB limit.
1994-01-20 17:49:57 +00:00
dg
a4f9fb09d6 Improved algorithm that calculates the pages in the base memory - If the
BIOS says that the amount is *between* 0-640K, believe it.  Cleaned up
the comments a bit, removed some old cruff, etc.
1994-01-20 17:21:28 +00:00
dg
c5c5295745 Improvements mostly from John Dyson, with a little bit from me.
* Removed pmap_is_wired
* added extra cli/sti protection in idle (swtch.s)
* slight code improvement in trap.c
* added lots of comments
* improved paging and other algorithms in VM system
1994-01-17 09:32:32 +00:00
rgrimes
eab8c19a7a Add missing paren so that it now compiles. 1994-01-17 05:49:20 +00:00
ats
940c5d30e3 Updated the TODO file with missing things.
Changed the output of the isa probe routine, that only devices, that
have an IO address and are smaller than 0x100 to be on the motherboard.
The seagate SCSI adapter is an example of a card, that doesn't have
an IO address and works only memory mapped.
1994-01-16 11:25:06 +00:00
martin
c243f902c4 NFS Diskless booting support added. 1994-01-16 02:21:58 +00:00
dg
7106861224 "New" VM system from John Dyson & myself. For a run-down of the
major changes, see the log of any effected file in the sys/vm
directory (swap_pager.c for instance).
1994-01-14 16:25:31 +00:00
ache
61375ef179 Correct Vresume size, we have now 32 bits for it. 1994-01-10 23:15:09 +00:00
rgrimes
dc012e1c6b Fixed comment that refered to 8252 (we really have 8253's).
Per some one on the mailing list.
1994-01-05 15:03:28 +00:00
dg
a060bb8bcc Increased maximum and default 'size' limits to more reasonable values. 1994-01-03 16:00:52 +00:00
dg
3ee2e50e40 Convert syscall to trapframe. Based on work done by John Brezak. 1994-01-03 07:55:47 +00:00
dg
e16b5ca09c Raised minimum buffer cache from 128k to 256k. 1993-12-22 13:12:04 +00:00
dg
2f191efce7 Changed pointer type from caddr_t to void * for fillw, insw, outsw, and
outsb.
1993-12-21 21:27:04 +00:00
wollman
0c3b1254f5 Document use of counters 29 and 30 for CCITT netisrs. 1993-12-20 15:08:33 +00:00
wollman
3963a092ba Make everything compile with -Wtraditional. Make it easier to distribute
a binary link-kit.  Make all non-optional options (pagers, procfs) standard,
and update LINT to reflect new symtab requirements.

NB: -Wtraditional will henceforth be forgotten.  This editing pass was
primarily intended to detect any constructions where the old code might
have been relying on traditional C semantics or syntax.  These were all
fixed, and the result of fixing some of them means that -Wall is now a
realistic possibility within a few weeks.
1993-12-19 00:55:01 +00:00