freebsd-nq/sys/vm
John Dyson 95e5e988e0 Make our v_usecount vnode reference count work identically to the
original BSD code.  The association between the vnode and the vm_object
no longer includes reference counts.  The major difference is that
vm_object's are no longer freed gratuitiously from the vnode, and so
once an object is created for the vnode, it will last as long as the
vnode does.

When a vnode object reference count is incremented, then the underlying
vnode reference count is incremented also.  The two "objects" are now
more intimately related, and so the interactions are now much less
complex.

When vnodes are now normally placed onto the free queue with an object still
attached.  The rundown of the object happens at vnode rundown time, and
happens with exactly the same filesystem semantics of the original VFS
code.  There is absolutely no need for vnode_pager_uncache and other
travesties like that anymore.

A side-effect of these changes is that SMP locking should be much simpler,
the I/O copyin/copyout optimizations work, NFS should be more ponderable,
and further work on layered filesystems should be less frustrating, because
of the totally coherent management of the vnode objects and vnodes.

Please be careful with your system while running this code, but I would
greatly appreciate feedback as soon a reasonably possible.
1998-01-06 05:26:17 +00:00
..
default_pager.c Removed unused #includes. 1997-09-01 03:17:34 +00:00
default_pager.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
device_pager.c Removed unused #includes. 1997-09-01 03:17:34 +00:00
device_pager.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
pmap.h After one of my analysis passes to evaluate methods for SMP TLB mgmt, I 1997-12-14 02:11:23 +00:00
swap_pager.c Support running with inadequate swap space. Additionally, the code 1997-12-24 15:05:25 +00:00
swap_pager.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
vm_extern.h caddr_t --> void * 1997-12-31 02:35:29 +00:00
vm_fault.c Make our v_usecount vnode reference count work identically to the 1998-01-06 05:26:17 +00:00
vm_glue.c Fix the prototype for swapout_procs(); 1997-12-11 02:10:55 +00:00
vm_inherit.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
vm_init.c Removed unused #includes. 1997-08-02 14:33:27 +00:00
vm_kern.c Get rid of the ad-hoc memory allocator for vm_map_entries, in lieu of 1997-08-05 00:02:08 +00:00
vm_kern.h Attempt to fix the previous fix to the contigmalloc1 prototype. 1997-10-11 10:39:19 +00:00
vm_map.c Make our v_usecount vnode reference count work identically to the 1998-01-06 05:26:17 +00:00
vm_map.h Make our v_usecount vnode reference count work identically to the 1998-01-06 05:26:17 +00:00
vm_meter.c Removed all traces of P_IDLEPROC. It was tested but never set. 1997-11-24 15:15:33 +00:00
vm_mmap.c caddr_t --> void * 1997-12-31 02:35:29 +00:00
vm_object.c Make our v_usecount vnode reference count work identically to the 1998-01-06 05:26:17 +00:00
vm_object.h Make our v_usecount vnode reference count work identically to the 1998-01-06 05:26:17 +00:00
vm_page.c Lots of improvements, including restructring the caching and management 1997-12-29 00:25:11 +00:00
vm_page.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
vm_pageout.c Make our v_usecount vnode reference count work identically to the 1998-01-06 05:26:17 +00:00
vm_pageout.h Support an optional, sysctl enabled feature of idle process swapout. This 1997-12-06 02:23:36 +00:00
vm_pager.c Lots of improvements, including restructring the caching and management 1997-12-29 00:25:11 +00:00
vm_pager.h Last major round (Unless Bruce thinks of somthing :-) of malloc changes. 1997-10-12 20:26:33 +00:00
vm_param.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
vm_prot.h Fix the gdb executable modify problem. Thanks to the detective work 1997-04-06 02:29:45 +00:00
vm_swap.c Rename some local variables to avoid shadowing other local variables. 1997-11-07 09:21:01 +00:00
vm_unix.c Move the "retval" (3rd) parameter from all syscall functions and put 1997-11-06 19:29:57 +00:00
vm_zone.c Improve my copyright. 1997-12-22 11:48:13 +00:00
vm_zone.h Slight improvement to the vm_zone stats output. Also, some other superficial 1997-12-14 05:17:44 +00:00
vm.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
vnode_pager.c Make our v_usecount vnode reference count work identically to the 1998-01-06 05:26:17 +00:00
vnode_pager.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00