cvs commit: src/sys/nfsclient nfs.h nfs_socket.c

Mohan Srinivasan mohans at FreeBSD.org
Mon Nov 20 04:14:24 UTC 2006


mohans      2006-11-20 04:14:23 UTC

  FreeBSD src repository

  Modified files:
    sys/nfsclient        nfs.h nfs_socket.c 
  Log:
  1) Fix up locking in nfs_up() and nfs_down.
  2) Reduce the acquisitions of the Giant lock in the nfs_socket.c paths significantly.
  - We don't need to acquire Giant before tsleeping on lbolt anymore,
    since jhb specialcased lbolt handling in msleep.
  - nfs_up() needs to acquire Giant only if printing the "server up"
    message.
  - nfs_timer() held Giant for the duration of the NFS timer processing,
    just because the printing of the message in nfs_down() needed it
    (and we acquire other locks in nfs_timer()). The acquisition of
    Giant is moved down into nfs_down() now, reducing the time Giant is
    held in that path.
  
  Reported by: Kris Kennaway
  
  Revision  Changes    Path
  1.97      +1 -1      src/sys/nfsclient/nfs.h
  1.146     +39 -30    src/sys/nfsclient/nfs_socket.c


More information about the cvs-all mailing list