HEADS UP: nfs server locking.

From: Jeff Roberson <jroberson_at_chesapeake.net>
Date: Sat, 17 Mar 2007 14:38:15 -0800 (PST)
The nfs server has had the last vestiges of giant removed when the local 
filesystem doesn't require it.  The nfsd locking has also been reduced in 
scope.  These patches were tested fairly thoroughly by isilon and kris, 
but there is a potential for bugs.

Let me know if you encounter anything unusual.  Keep in mind that there 
are still client bugs under high load.  If you attempt to break the server 
you more often break the client instead.

Jeff

---------- Forwarded message ----------
Date: Sat, 17 Mar 2007 18:18:09 +0000 (UTC)
From: Jeff Roberson <jeff_at_FreeBSD.org>
To: src-committers_at_FreeBSD.org, cvs-src_at_FreeBSD.org, cvs-all_at_FreeBSD.org
Subject: cvs commit: src/sys/nfsserver nfs.h nfs_serv.c nfs_srvcache.c
     nfs_srvsock.c nfs_srvsubs.c nfs_syscalls.c nfsm_subs.h

jeff        2007-03-17 18:18:09 UTC

   FreeBSD src repository

   Modified files:
     sys/nfsserver        nfs.h nfs_serv.c nfs_srvcache.c
                          nfs_srvsock.c nfs_srvsubs.c
                          nfs_syscalls.c nfsm_subs.h
   Log:
    - Turn all explicit giant acquires into conditional VFS_LOCK_GIANTs.
      Only ops which used namei still remained.
    - Implement a scheme for reducing the overhead of tracking which vops
      require giant by constantly reducing the number of recursive giant
      acquires to one, leaving us with only one vfslocked variable.
    - Remove all NFSD lock acquisition and release from the individual nfs
      ops.  Careful examination has shown that they are not required.  This
      greatly simplifies the code.

   Sponsored by:   Isilon Systems, Inc.
   Discussed with: rwatson
   Tested by:      kkenn
   Approved by:    re

   Revision  Changes    Path
   1.82      +1 -4      src/sys/nfsserver/nfs.h
   1.171     +187 -554  src/sys/nfsserver/nfs_serv.c
   1.44      +2 -0      src/sys/nfsserver/nfs_srvcache.c
   1.102     +0 -10     src/sys/nfsserver/nfs_srvsock.c
   1.146     +42 -71    src/sys/nfsserver/nfs_srvsubs.c
   1.112     +2 -0      src/sys/nfsserver/nfs_syscalls.c
   1.39      +2 -5      src/sys/nfsserver/nfsm_subs.h
Received on Sat Mar 17 2007 - 21:38:27 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:06 UTC