Commit Graph

48 Commits

Author SHA1 Message Date
mycroft
448427b7ba Document a requirement of vm_object_bypass(). 1997-04-08 22:35:49 +00:00
mycroft
69e0aacce3 Remove the `backing_object still referenced' panic, since there's an expected
race with vnode_pager_sync().
1997-04-07 01:57:14 +00:00
mycroft
3a474fa002 Remove a printf() that's no longer needed. 1997-03-03 20:56:12 +00:00
thorpej
cbb4319fb9 vm_object_shadow(): Add a DIAGNOSTIC check for shadowing a null object.
From Charles Hannum <mycroft@netbsd.org>
1997-02-25 23:28:09 +00:00
thorpej
7327c8cf62 From Charles Hannum:
During a collapse, abort if the object is paging; the pagedaemon can
trigger a collapse, causing deadlock.  (XXX)
1997-02-24 22:19:26 +00:00
mrg
3b9c3fff2e restructure vm_object_overlay() to collapse objects in more cases.
change one diag panic() to a diag printf().  from mycroft.
1997-02-23 09:01:37 +00:00
thorpej
255b9d74d8 Rewrite the object chain collapse code. Bugs fixed are too numerous
to describe here.  This should fix the problems with "hanging processes"
people have seen since the original object collapse code was committed.

From Charles Hannum <mycroft@netbsd.org>
1997-02-21 20:30:49 +00:00
mrg
42ae012452 This is all from mycroft:
Create macros (with names borrowed from Mach 3) to manipulate
object->paging_in_progress, and use them.  When decreasing the
paging count, always make sure to wake up anyone waiting.
Fixes `vospgc', `vosca1', and `vosca2' hangs.
1997-02-18 13:39:31 +00:00
mrg
491e8af174 minor KNF from jason. 1997-02-05 08:26:25 +00:00
mrg
eadd7792d9 add thread_sleep_msg() that takes a wait message, and change thread_sleep()
into a macro for backwards compat.  alter vm_object_sleep() to take advantage
of this.
1997-02-05 08:09:45 +00:00
mrg
85328f7b35 KNF. 1997-02-05 07:48:42 +00:00
mrg
4f2a217c2b pull up vm_object_collapse() fix from mrg_vm_object_collapse branch.
many thanks to niklas hallqvist (niklas@appli.se) for this.
1997-01-03 18:03:14 +00:00
christos
3dc7953eec back out previous kprintf changes 1996-10-12 21:50:05 +00:00
christos
de1b2b437e printf -> kprintf, sprintf -> ksprintf 1996-10-10 17:16:17 +00:00
gwr
fdb309615e Remove vm_object_prefer. VM code now calls PMAP_PREFER directly. 1996-02-28 22:35:35 +00:00
christos
03b1ad4cb4 One more cleanup pass to change %x to %p for pointers 1996-02-10 00:07:59 +00:00
christos
bcabcefdcd VM prototype changes 1996-02-05 01:53:47 +00:00
pk
785c98a0cc Oops. 1995-12-06 00:38:11 +00:00
pk
801712f01a Extend use of vm_object_prefer() to vm_allocate_with_pager().
Make vm_object_prefer() call MD aligner for "pageless" objects too,
so we can have more control over the virtual address to be used.

Implementation could be simpler if we by-pass the object to mapped, but
we'd loose the ability to adapt alignment to objects that were previously
mmap'ed with MAP_FIXED on.
1995-12-05 22:54:36 +00:00
pk
7ac7bdf204 Unlock internal objects too in vm_object_terminate(). 1995-07-13 12:35:29 +00:00
pk
d114baba9a Introduce vm_object_prefer(), which interrogates the PMAP layer in search
for an optimal virtual address for a given object.
1994-12-10 11:46:25 +00:00
cgd
0a930e5ce6 redo that last change, correctly. (suggested by mycroft.) 1994-10-30 19:11:09 +00:00
cgd
aa151f86b3 change some strategic casts to (*long) from (*int). 1994-10-29 07:35:04 +00:00
mycroft
6dd2f9eed2 vm_object_page_clean() expects to be able to use vm_page_deactivate() on a
locked page.  Make that work.  This also obviates the need for vm_fault() to
bogusly activate a page before deactivating it.  Finally, make sure the
semantics of vm_object_deactive_pages() don't change.
1994-09-07 20:25:07 +00:00
cgd
fccfa11af5 New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD' 1994-06-29 06:39:25 +00:00
cgd
9608c5b657 clean up slightly; change RCS ID's to be minimally intrusive 1994-06-27 04:55:46 +00:00
cgd
3495827959 new VM code, from 4.4-Lite 1994-05-23 03:11:20 +00:00
cgd
3dda0064a5 Convert mount, vnode, and buf structs to use <sys/queue.h>. Also,
some knf and structure frobbing to do along with it.
1994-04-21 07:47:31 +00:00
cgd
ee3e1168b7 undo a mistaken deletion. at least i found it... 1994-04-20 21:46:15 +00:00
cgd
ad6c540f90 cancel some of my stupidity, thanks to charles. 1994-04-15 22:49:15 +00:00
cgd
e937bc9bfd convert vm system to use new queues. I'll never write code w/queues again. 1994-04-15 07:04:03 +00:00
cgd
70dabb7d43 don't be so agressive w/renaming, clean for consistency, types in one place. 1994-03-17 02:51:57 +00:00
cgd
e69c297456 do not clean fictitious pages. from WS (sent a long time ago...) 1994-01-15 02:39:58 +00:00
mycroft
9c9af600ee Make some functions static. 1994-01-08 04:59:08 +00:00
mycroft
287956ae88 Yet more prototypes. 1994-01-08 04:38:16 +00:00
mycroft
d77a163cac Kill third arg to thread_sleep(). It's always false and isn't used anyway. 1994-01-07 22:22:20 +00:00
mycroft
1b184192e1 Add some explicit return types, and make vm_object_print #ifdef DDB | DEBUG. 1994-01-07 19:15:44 +00:00
cgd
c26286a5c1 bring changes down from magnum 1993-12-20 12:39:55 +00:00
mycroft
b4d3382694 Canonicalize all #includes. 1993-12-17 07:56:32 +00:00
mycroft
00e8bf23cd Add `#ifdef DIAGNOSTIC' around check for dirty pages in persistent objects. 1993-09-23 22:20:29 +00:00
brezak
b4940ad7a0 Wrap iprintf, vm_object_print, vm_map_print to allow passing a printf function. 1993-09-13 14:10:35 +00:00
cgd
acf8d8b584 deal with ddb bogosities 1993-08-07 06:03:02 +00:00
pk
36a6e635b3 Committing in src/sys/vm
Modified Files:
	vm_object.c

call vm_object_remove() to remove an object from the hashtable when
vm_object_collapse() starts fiddling with pagers.
1993-07-28 00:00:01 +00:00
brezak
9d7e246a03 Cleanup pretty printers for maps and objects. 1993-07-22 13:03:36 +00:00
andrew
7a0e26cd13 Paul Kranenburg's VM deadlock patches (from patchkit 00147, parts 3 & 4).
Prevent dirty objects from being cached, and prevent vm_page_alloc() from
allocating too much memory to non-kernel objects.
1993-06-30 03:48:25 +00:00
cgd
cc5e8e00d5 add rcs ids and clean up headers 1993-05-20 03:59:08 +00:00
cgd
827c75471f From: andrew@werple.apana.org.au (Andrew Herbert)
Here are some fixes I derived from the mach 3.0 VM system a couple of months
ago.  At the time, I was giving the memory object routines a good looking
at, trying to fix the long-standing problem where vm_object_collapse()
sometimes fails to collapse objects left over from the exit of a forked
child.  As bde has noted, the problem seems to occur when portions of the
parent are paged out.  These "lost" memory objects, which can eat up a huge
amount of swap space, are reclaimed when the parent responsible for the
fork()s is killed.
1993-04-09 16:53:46 +00:00
cgd
61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00