Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Nov 2006 04:14:23 +0000 (UTC)
From:      Mohan Srinivasan <mohans@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/nfsclient nfs.h nfs_socket.c
Message-ID:  <200611200414.kAK4EN1T032693@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



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