Commit Graph

65 Commits

Author SHA1 Message Date
mrg dae55b7b7b fix a problem with swapping to files where a new variable introduced was not
later incremented correctedly, causing the wrong data to be paged out, which
then caused general lossage later when the data was paged in and the process
tried to use it.  found by pk.
1998-05-01 01:40:02 +00:00
thorpej 73863dd3c9 Pass vslock() and vsunlock() a proc *, rather than implicitly operating
on curproc.
1998-04-30 06:28:57 +00:00
matthias fceafcf990 port-pc532 now has pmap_new just like port-i386. 1998-04-25 19:58:58 +00:00
thorpej 339c715a9e Fix small whitespace botch. 1998-04-16 03:54:35 +00:00
thorpej fe97b1da8e Oops, fix a typo. 1998-04-09 00:24:05 +00:00
thorpej 2018d40811 Allocate kernel virtual address space for the U-area before allocating
the new proc structure when performing a fork.  This makes it much
easier to abort a fork operation and return an error if we run out
of KVA space.

The U-area pages are still wired down in {,u}vm_fork(), as before.
1998-04-09 00:23:38 +00:00
tv 39b4c2fece mmap() default MAP_SHARED/MAP_PRIVATE is ``DEBUG'', not ``DIAGNOSTIC'' 1998-04-01 21:43:52 +00:00
chuck 9eb2927bec free correct page in incomplete section of MNN, as pointed
out by Soren S. Jorvang.
1998-03-31 03:04:59 +00:00
chuck fe4846acdc have ddb show map print resident page count 1998-03-30 17:34:58 +00:00
mycroft 0652b9af01 Mark scheduler() and uvm_scheduler() as never returning. 1998-03-30 06:24:42 +00:00
kleink 6618749e5a Per XPG, if the file descriptor argument to mmap() refers to a file whose
type is not supported (neither VREG nor VCHR, or not a vnode at all), fail
with ENODEV instead of EINVAL.
1998-03-28 16:58:04 +00:00
thorpej b65c510879 Split uvmspace_alloc() into uvmspace_alloc() and uvmspace_init(). The latter
can be used for initializing a pre-allocated vmspace.
1998-03-27 01:47:06 +00:00
chuck db81cc9c76 update per-process rusage fault counters (ru_majflt/ru_minflt) under UVM 1998-03-26 21:50:14 +00:00
chuck e6da5a01e4 remove tmpwire arg from uvm_pagewire() -- it isn't needed anymore.
noted by chuck s.
1998-03-22 21:29:30 +00:00
chuck 617118bccc fix released pg bugs detected by Chuck S.:
- release the correct page (ppsp[lcv], not pg)
 - don't access the page's fields after we have released it
 - in the uvm_objct case: move on to the next page if we've released
[should have been merged in on 1998/02/12, but we somehow missed it]
1998-03-22 16:10:29 +00:00
chuck dd370f11a3 rework the copy inheritance case of fork. the old way did not handle
the very rare case of shared mappings that have amap's attached in a
reasonable way -- this is not currently causing any problems, but i
fixed it anyway.  update the comment in this section of code and also
be smarter about avoiding needless calls to pmap_protect().
1998-03-19 19:26:50 +00:00
thorpej dbc7bbee68 Make the previous change `atomic'. 1998-03-19 06:37:26 +00:00
thorpej daade671ae When unsharing or execing, deactivate the old vmspace before reassigning
and activating the new one.  Pointed out by Chris Demetriou.
1998-03-19 04:19:21 +00:00
mrg be92b169f8 oops, missed a bit of KNF here. 1998-03-17 07:50:08 +00:00
chuck 927ec8b012 bug fix: when doing uvm_vnp_sync() actually skip over blocked uvn's so
that we don't try and sync them later.   should get rid of the
"uvm_vnp_sync: dying vnode on sync list" related warnings that were
occuring during a "make install."
1998-03-11 01:37:40 +00:00
chuck 21624aaf72 uvm_dump now dumps some important pointers for debugging 1998-03-10 14:36:55 +00:00
mrg 8106d13596 KNF. 1998-03-09 00:58:55 +00:00
mycroft 24e6e6a0e7 Convert MAP_PRIVATE device mappings to MAP_SHARED on *all* platforms, not just
the SPARC.
Remove the #ifdef COMPAT_13 for automatically adding a sharing type, since the
interface is *supposed* to support this.
Also modify the DIAGNOSTIC messages here a bit.
1998-03-03 14:34:10 +00:00
fvdl e5bc90f40c Merge with Lite2 + local changes 1998-03-01 02:20:01 +00:00
chuck cbd05b1537 be consistent about offsets in kernel objects. vm_map_min(kernel_map)
should always be the base [fixes problem on m68k detected by jason thorpe]

add comments to uvm_km.c explaining kernel memory management in more detail
1998-02-24 15:58:09 +00:00
thorpej 1e3e1bfe09 Include the NFS option header. 1998-02-19 00:55:04 +00:00
drochner 93a065690b fix map range boundary check 1998-02-18 14:50:32 +00:00
mrg 3ed2e6ac6c bug fix from chuck: uvm_vnp_terminate panic when /sbin/init was unlinked 1998-02-18 06:35:46 +00:00
thorpej 550678e57f Oops, fix a typo. 1998-02-13 05:34:30 +00:00
thorpej e6c31d3db7 KNF. 1998-02-13 05:33:55 +00:00
thorpej 872181c2f2 A few changes to make it possible to read UVM histories from userland:
- Protect option headers from inclusion if ! _KERNEL or if _LKM.
- Make sure struct uvm_history is always the same size (not dependent
  on NCPU).
- Add fmtlen and fnlen members to struct uvm_history_ent, which specify
  the lengths fo the fmt and fn strings.
- Add name, namelen, and a list entry to struct uvm_history.
- When a history is initialized, place it on the global list of all histories.
1998-02-13 04:55:14 +00:00
thorpej cb5f8ef1df Add a global list of all UVM histories. 1998-02-13 04:52:00 +00:00
thorpej 90aee42d35 Provide a patchable knob (uvmhist_print_enabled) so that UVM history
buffer printing can be switched on and off at run-time.  Only exists
if the kernel is build with UVMHIST_PRINT, and defaults to `on'.
1998-02-12 20:10:15 +00:00
chs 7f45dbdfae add copyright. 1998-02-12 07:36:43 +00:00
mrg d90485202c - add defopt's for UVM, UVMHIST and PMAP_NEW.
- remove unnecessary UVMHIST_DECL's.
1998-02-10 14:08:44 +00:00
perry 021fdb646a add/cleanup multiple inclusion protection. 1998-02-10 02:34:17 +00:00
mrg e92c7d991e KNF. 1998-02-09 14:35:48 +00:00
mrg 7d3aef40b3 keep statistics on pageout/pagein, total pages, and total operations. 1998-02-09 13:08:22 +00:00
mrg 3112d4b3e1 KNF. 1998-02-09 04:05:36 +00:00
mrg 7ff12d37cc fill out vmtotals: t_free, t_vm, t_avm, t_rm and t_arm. leaves shared of same, and t_pw. 1998-02-08 22:23:33 +00:00
thorpej 39f8b8c99b Round allocations to page size in uvm_pageboot_alloc(). 1998-02-08 18:27:30 +00:00
mrg 6122fae970 KNF 1998-02-08 16:07:57 +00:00
mrg bc3395e590 turn of UVM history logging by default. 1998-02-08 14:19:21 +00:00
mrg d9b2f81e27 move pdhist initialisation to the same place as maphist. also, declare
the history buffers are "struct uvm_history_ent" to ensure proper
alignment (eg, alpha).  this fixes a boottime panic when the pdhist was
used before it had been initialised.
1998-02-08 07:52:28 +00:00
thorpej 1305ecbe62 Allow callers of uvm_km_suballoc() to specify where the base of the
submap _must_ begin, by adding a "fixed" boolean argument.
1998-02-08 06:15:53 +00:00
mrg 0a058cb62f implement counters for pages paged in/out 1998-02-07 17:00:36 +00:00
mrg 4ef57d4d22 KNF. 1998-02-07 12:45:53 +00:00
mrg 5e55ce6648 bzero the entire vmspace, like the old vm does. makes ps report sane values of VSZ for swapper/pagedaemon 1998-02-07 12:31:32 +00:00
mrg 1f6b921cf7 restore rcsids 1998-02-07 11:07:38 +00:00
chs 9b371040ea keep track of how many pages are currently being paged out,
stop initiating new pageouts when "(free + paging) > freetarg".
fix pageq locking.
1998-02-07 02:35:11 +00:00