David Greenman
2e1e24dd28
Fixed bug where page modifications would be lost when swap space was
...
almost depleted.
Reviewed by: John Dyson
1994-10-14 01:58:52 +00:00
David Greenman
defb6744ba
Changed I/O error messages to be somewhat less cryptic. Removed a piece
...
of unused code.
1994-10-14 00:57:19 +00:00
David Greenman
28e12d63f3
Fixed an object reference count problem that was caused by a call to
...
vm_object_lookup() being outside of some parens. The bug was introduced
via some recently added code.
Reviewed by: John Dyson
1994-10-13 21:01:39 +00:00
David Greenman
35c10d2239
Got rid of map.h. It's a leftover from the rmap code, and we use rlists.
...
Changed swapmap into swaplist.
1994-10-09 07:35:18 +00:00
Poul-Henning Kamp
05f0fdd26a
Cosmetics: unused vars, ()'s, #include's &c &c to silence gcc.
...
Reviewed by: davidg
1994-10-09 01:52:19 +00:00
David Greenman
da8b3304fb
Call resetpriority, not setpriority() ...oops.
...
Submitted by: John Dyson
1994-10-09 00:18:22 +00:00
Poul-Henning Kamp
4e39a515d4
Cosmetics. Unused vars and other warnings.
1994-10-07 07:23:04 +00:00
David Greenman
8e58bf6875
Stuff object into v_vmdata rather than pager. Not important which at
...
the moment, but will be in the future. Other changes mostly cosmetic,
but are made for future VMIO considerations.
Submitted by: John Dyson
1994-10-05 09:48:45 +00:00
David Greenman
5cedf6806b
Fixed minor bug caused by some missing parens that can result in slightly
...
reduced paging performance by missing a clustering opportunity. Found
by Poul-Henning Kamp with gcc -Wall.
1994-10-05 09:02:53 +00:00
David Greenman
8baf4dac64
John Dyson's work in progress. Not currently used.
1994-10-04 07:32:08 +00:00
David Greenman
edaaafdb0f
Fixed bug related to proper sensing of page modification that we
...
inadvertantly introduced in pre-1.1.5. This could cause page modifications
to go unnoticed during certain extreme low memory/high paging rate conditions.
Submitted by: John Dyson and David Greenman
1994-10-04 03:05:09 +00:00
Poul-Henning Kamp
623ae52e4e
GCC cleanup.
...
Reviewed by:
Submitted by:
Obtained from:
1994-10-02 17:48:58 +00:00
David Greenman
1ffd2a2cbd
Previous commit should have read ...in vm_page_alloc_contig().
...
...(this commit): moved initialization of 'start' to make it more clear
that it is initialized properly (also in vm_page_alloc_contig).
Reviewed by:
Submitted by:
Obtained from:
1994-09-27 20:49:02 +00:00
David Greenman
5992708aea
Fixed another bug, and cleaned up the code.
1994-09-27 20:45:24 +00:00
David Greenman
0d040c7eae
Fixed multiple bugs in previous version of vm_page_alloc_contig.
1994-09-27 19:34:16 +00:00
David Greenman
d3c2cf7a80
1) New "vm_page_alloc_contig" routine by me.
...
2) Created a new vm_page flag "PG_FREE" to help track free pages.
3) Use PG_FREE flag to detect inconsistencies in a few places.
1994-09-27 18:00:29 +00:00
David Greenman
c770b47d56
Removed unimplemented subr_rmap.c and unused references to it.
1994-09-25 22:31:11 +00:00
David Greenman
426de76026
Disabled swap anti-fragmentation code. It reduces swap paging performance
...
by 20% in my tests, and it appears to be the cause of a swap leak.
Submitted by: John Dyson
1994-09-25 04:02:10 +00:00
David Greenman
11b224dca2
Fixed a bug I introduced when fixing the rss limit code. Changed swapout
...
policy to be a bit more selective about what processes get swapped out.
Reviewed by: John Dyson
1994-09-12 15:06:14 +00:00
David Greenman
cde7257454
Eliminated a whole pile of ancient (we're taking 4.3BSD) VM system
...
related #define constants. Corrected incorrect VM_MAX_KERNEL_ADDRESS.
Reviewed by: John Dyson
1994-09-12 11:38:31 +00:00
David Greenman
ed74321b1a
Don't deactivate pages in 0-refcount objects. Added a couple of missing
...
paging stats. Fixed problem with free_reserved becoming depleted during
certain swap_pager operations.
Submitted by: John Dyson, with a little help from me
1994-09-12 11:31:36 +00:00
David Greenman
55e8e4749f
Fixed problem with no swap on boot device, but there is some on an
...
alternate device (as specified via kernel config file)...that casues
the machine to panic.
1994-09-11 03:55:39 +00:00
David Greenman
db141545dc
Disabled a debugging printf.
1994-09-06 17:53:24 +00:00
David Greenman
a647a30954
Simple changes to paging algorithms...but boy do they make a difference.
...
FreeBSD's paging performance has never been better. Wow.
Submitted by: John Dyson
1994-09-06 11:28:46 +00:00
David Greenman
90324b078e
Whoops, accidently left out some pieces of the munmapfd patch.
1994-09-02 15:06:51 +00:00
David Greenman
2c7a40c7ca
Removed all vestiges of tlbflush(). Replaced them with calls to pmap_update().
...
Made pmap_update an inline assembly function.
1994-09-02 04:12:26 +00:00
David Greenman
a6ca859eb1
Fixed bug caused by change of rlimit variables to quad_t's. The bug was in
...
using min() to calculate the minimum of rss_cur,rss_max - since these
are now quad_t's and min() takes u_ints...the comparison later for exceeding
the rss limit was always true - resulting in rather serious page thrashing.
Now using new qmin() function for this purpose.
Fixed another bug where PG_BUSY pages would sometimes be paged out (bad!).
This was caused by the PG_BUSY flag not being included in a comparison.
1994-08-30 18:27:44 +00:00
David Greenman
fff93ab600
Patches from John Dyson to improve swap code efficiency.
...
Religiously add back pmap_clear_modify() in vnode_pager_input until we figure
out why system performance isn't what we expect.
Submitted by: John Dyson (swap_pager) & David Greenman (vnode_pager)
1994-08-29 06:23:19 +00:00
David Greenman
8a129caed5
1) Changed ddb into a option rather than a pseudo-device (use options DDB
...
in your kernel config now).
2) Added ps ddb function from 1.1.5. Cleaned it up a bit and moved into its
own file.
3) Added \r handing in db_printf.
4) Added missing memory usage stats to statclock().
5) Added dummy function to pseudo_set so it will be emitted if there
are no other pseudo declarations.
1994-08-27 16:14:39 +00:00
Paul Richards
3301cc3c0a
Made idempotent
...
Reviewed by:
Submitted by:
1994-08-21 07:19:45 +00:00
Garrett Wollman
f23b4c91c4
Fix up some sloppy coding practices:
...
- Delete redundant declarations.
- Add -Wredundant-declarations to Makefile.i386 so they don't come back.
- Delete sloppy COMMON-style declarations of uninitialized data in
header files.
- Add a few prototypes.
- Clean up warnings resulting from the above.
NB: ioconf.c will still generate a redundant-declaration warning, which
is unavoidable unless somebody volunteers to make `config' smarter.
1994-08-18 22:36:09 +00:00
David Greenman
28b5c68f2f
Fixed vm_page_deactivate to deal with getting called with a page that's
...
not on any queue. This is an old patchkit days fix.
Reviewed by: John Dyson and David Greenman
Submitted by: originally by Paul Mackerras
1994-08-10 03:09:37 +00:00
David Greenman
92a34c0c6d
Removed an old, obsolete call to vmmeter(). This is called now in the
...
schedcpu() routine in kern/kern_synch.c. This extra call to vmmeter() in
vm_glue.c was what was totally messing up the load average calculations.
1994-08-09 10:42:41 +00:00
David Greenman
8339815ff9
Made pmap_kenter "TLB safe". ...and then removed all the pmap_updates that
...
are no longer needed because of this.
1994-08-07 14:53:27 +00:00
David Greenman
a481f20029
Provide support for upcoming merged VM/buffer cache, and fixed a few bugs
...
that haven't appeared to manifest themselves (yet).
Submitted by: John Dyson
1994-08-07 13:10:43 +00:00
David Greenman
c87801fe54
Fixed various prototype problems with the pmap functions and the subsequent
...
problems that fixing them caused.
1994-08-06 10:25:50 +00:00
David Greenman
16f62314cd
Incorporated post 1.1.5 work from John Dyson. This includes performance
...
improvements via the new routines pmap_qenter/pmap_qremove and pmap_kenter/
pmap_kremove. These routine allow fast mapping of pages for those
architectures that have "normal" MMUs. Also included is a fix to the
pageout daemon to properly check a queue end condition.
Submitted by: John Dyson
1994-08-06 09:15:42 +00:00
David Greenman
f720dc2ceb
Enabled page table preloading of cached objects.
...
Submitted by: John Dyson
1994-08-06 09:00:50 +00:00
David Greenman
d6a6c0f60c
Added some code that was accidently left out early in the 1.x -> 2.0 VM
...
system conversion.
Submitted by: John Dyson
1994-08-04 19:40:47 +00:00
David Greenman
bbc0ec5284
Integrated VM system improvements/fixes from FreeBSD-1.1.5.
1994-08-04 03:06:48 +00:00
David Greenman
3c4dd3568f
Added $Id$
1994-08-02 07:55:43 +00:00
David Greenman
03e6c2532f
Removed all code related to the pagescan daemon, and changed 'act_count'
...
adjustments to compensate for a world without the pagescan daemon.
1994-08-01 11:25:45 +00:00
David Greenman
0a620217f0
Don't move the page's position in the active queue if it is busy or
...
held. John has noticed some stability problems when doing this.
1994-06-06 11:56:27 +00:00
Rodney W. Grimes
26f9a76710
The big 4.4BSD Lite to FreeBSD 2.0.0 (Development) patch.
...
Reviewed by: Rodney W. Grimes
Submitted by: John Dyson and David Greenman
1994-05-25 09:21:21 +00:00
Rodney W. Grimes
df8bae1de4
BSD 4.4 Lite Kernel Sources
1994-05-24 10:09:53 +00:00