git: kernel - Performance tuning (3)

Matthew Dillon dillon at crater.dragonflybsd.org
Thu Nov 14 11:56:57 PST 2013


commit b458d1abaa7a0b3892d7c071e99dd6d51090a81c
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Thu Nov 14 11:54:09 2013 -0800

    kernel - Performance tuning (3)
    
    * The VOP_CLOSE issues revealed a bigger issue with vn_lock().  Many
      callers do not check the return code for vn_lock() and in nearly all
      of those cases it wouldn't fail anyway due to a prior ref, but it
      creates an API issue.
    
    * Add the LK_FAILRECLAIM flag to vn_lock().  This flag explicitly allows
      vn_lock() to fail if the vnode is undergoing reclamation.
    
      This fixes numerous issues, particularly when VOP_CLOSE() is called
      during a reclaim due to recent LK_UPGRADE's that we do in some VFS
      *_close() functions.
    
    * Remove some unused LK_ defines.

Summary of changes:
 .../linux/i386/linprocfs/linprocfs_vnops.c          |  3 ++-
 sys/gnu/vfs/ext2fs/ext2_lookup.c                    | 15 ++++++++++-----
 sys/gnu/vfs/ext2fs/ext2_vnops.c                     | 13 +++++++++----
 sys/gnu/vfs/ext2fs/fs.h                             |  3 ++-
 sys/kern/tty.c                                      |  2 +-
 sys/kern/tty_tty.c                                  |  3 ++-
 sys/kern/vfs_lock.c                                 |  2 +-
 sys/kern/vfs_syscalls.c                             |  6 ++++--
 sys/kern/vfs_vnops.c                                | 21 ++++++++++++++++-----
 sys/sys/lock.h                                      |  6 +++---
 sys/vfs/devfs/devfs_vnops.c                         |  7 +++++--
 sys/vfs/hpfs/hpfs.h                                 |  2 +-
 sys/vfs/hpfs/hpfs_vnops.c                           |  3 ++-
 sys/vfs/isofs/cd9660/cd9660_lookup.c                |  3 ++-
 sys/vfs/isofs/cd9660/cd9660_vnops.c                 |  3 ++-
 sys/vfs/msdosfs/msdosfs_lookup.c                    |  2 +-
 sys/vfs/msdosfs/msdosfs_vnops.c                     |  5 +++--
 sys/vfs/nfs/nfs_vnops.c                             |  5 +++--
 sys/vfs/ntfs/ntfs.h                                 |  1 +
 sys/vfs/ntfs/ntfs_vnops.c                           |  7 ++++---
 sys/vfs/nwfs/nwfs_vnops.c                           | 12 ++++++++----
 sys/vfs/procfs/procfs_vnops.c                       |  3 ++-
 sys/vfs/smbfs/smbfs_vnops.c                         |  8 +++++---
 sys/vfs/udf/udf_vnops.c                             |  3 ++-
 sys/vfs/ufs/ufs_lookup.c                            | 15 +++++++++++----
 sys/vfs/ufs/ufs_vnops.c                             | 14 +++++++++-----
 sys/vfs/union/union_subr.c                          |  9 ++++++---
 sys/vm/vm_pageout.c                                 |  2 +-
 28 files changed, 118 insertions(+), 60 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b458d1abaa7a0b3892d7c071e99dd6d51090a81c


-- 
DragonFly BSD source repository



More information about the Commits mailing list