Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Oct 2002 17:19:25 -0700 (PDT)
From:      Kirk McKusick <mckusick@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/ufs/ffs ffs_snapshot.c
Message-ID:  <200210160019.g9G0JSxq085250@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
mckusick    2002/10/15 17:19:25 PDT

  Modified files:
    sys/ufs/ffs          ffs_snapshot.c 
  Log:
  Change locking so that all snapshots on a particular filesystem share
  a common lock. This change avoids a deadlock between snapshots when
  separate requests cause them to deadlock checking each other for a
  need to copy blocks that are close enough together that they fall
  into the same indirect block. Although I had anticipated a slowdown
  from contention for the single lock, my filesystem benchmarks show
  no measurable change in throughput on a uniprocessor system with
  three active snapshots. I conjecture that this result is because
  every copy-on-write fault must check all the active snapshots, so
  the process was inherently serial already. This change removes the
  last of the deadlocks of which I am aware in snapshots.
  
  Sponsored by:   DARPA & NAI Labs.
  
  Revision  Changes    Path
  1.45      +91 -42    src/sys/ufs/ffs/ffs_snapshot.c

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




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