HomeFreeBSD

1) Fix up locking in nfs_up() and nfs_down.

Description

  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.
  3. We don't need to acquire Giant before tsleeping on lbolt anymore, since jhb specialcased lbolt handling in msleep.
  4. nfs_up() needs to acquire Giant only if printing the "server up" message.
  5. 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

Details

Provenance
Mohan Srinivasan <mohans@FreeBSD.org>Authored on Nov 20 2006, 4:14 AM
Parents
rG276096bb3e7a: When counting vm totals, skip unreferenced objects, including
Branches
Unknown
Tags
Unknown

Event Timeline