Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 5 Jan 1998 21:26:21 -0800 (PST)
From:      John Dyson <dyson@FreeBSD.ORG>
To:        cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG, cvs-sys@FreeBSD.ORG
Subject:   cvs commit: src/sys/i386/conf files.i386 src/sys/kern imgact_aout.c kern_exec.c kern_subr.c vfs_bio.c vfs_cluster.c vfs_default.c vfs_lookup.c vfs_subr.c vfs_syscalls.c vfs_vnops.c src/sys/libkern cmpdi2.c src/sys/miscfs/procfs procfs_map.c ...
Message-ID:  <199801060526.VAA08011@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

dyson       1998/01/05 21:26:20 PST

  Modified files:
    sys/i386/conf        files.i386 
    sys/kern             imgact_aout.c kern_exec.c kern_subr.c 
                         vfs_bio.c vfs_cluster.c vfs_default.c 
                         vfs_lookup.c vfs_subr.c vfs_syscalls.c 
                         vfs_vnops.c 
    sys/libkern          cmpdi2.c 
    sys/miscfs/procfs    procfs_map.c procfs_vnops.c 
    sys/miscfs/specfs    spec_vnops.c 
    sys/nfs              nfs_bio.c 
    sys/sys              lock.h namei.h uio.h vnode.h 
    sys/ufs/ffs          ffs_balloc.c ffs_inode.c ffs_vfsops.c 
                         ffs_vnops.c 
    sys/ufs/ufs          ufs_readwrite.c 
    sys/vm               vm_fault.c vm_map.c vm_map.h vm_object.c 
                         vm_object.h vm_pageout.c vnode_pager.c 
  Log:
  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.
  
  Revision  Changes    Path
  1.183     +2 -1      src/sys/i386/conf/files.i386
  1.37      +4 -3      src/sys/kern/imgact_aout.c
  1.73      +4 -3      src/sys/kern/kern_exec.c
  1.15      +65 -2     src/sys/kern/kern_subr.c
  1.141     +71 -13    src/sys/kern/vfs_bio.c
  1.50      +13 -6     src/sys/kern/vfs_cluster.c
  1.11      +18 -3     src/sys/kern/vfs_default.c
  1.23      +11 -4     src/sys/kern/vfs_lookup.c
  1.120     +113 -53   src/sys/kern/vfs_subr.c
  1.89      +18 -15    src/sys/kern/vfs_syscalls.c
  1.46      +2 -2      src/sys/kern/vfs_vnops.c
  1.5       +2 -2      src/sys/libkern/cmpdi2.c
  1.14      +2 -2      src/sys/miscfs/procfs/procfs_map.c
  1.52      +3 -6      src/sys/miscfs/procfs/procfs_vnops.c
  1.53      +18 -7     src/sys/miscfs/specfs/spec_vnops.c
  1.46      +3 -3      src/sys/nfs/nfs_bio.c
  1.11      +2 -1      src/sys/sys/lock.h
  1.18      +2 -1      src/sys/sys/namei.h
  1.9       +2 -1      src/sys/sys/uio.h
  1.63      +2 -3      src/sys/sys/vnode.h
  1.17      +5 -1      src/sys/ufs/ffs/ffs_balloc.c
  1.30      +7 -2      src/sys/ufs/ffs/ffs_inode.c
  1.64      +33 -10    src/sys/ufs/ffs/ffs_vfsops.c
  1.38      +32 -7     src/sys/ufs/ffs/ffs_vnops.c
  1.39      +27 -1     src/sys/ufs/ufs/ufs_readwrite.c
  1.73      +10 -11    src/sys/vm/vm_fault.c
  1.104     +82 -32    src/sys/vm/vm_map.c
  1.30      +2 -2      src/sys/vm/vm_map.h
  1.104     +134 -112  src/sys/vm/vm_object.c
  1.41      +6 -7      src/sys/vm/vm_object.h
  1.106     +1 -5      src/sys/vm/vm_pageout.c
  1.79      +10 -21    src/sys/vm/vnode_pager.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199801060526.VAA08011>