summaryrefslogtreecommitdiffstats
path: root/sys/boot
diff options
context:
space:
mode:
authormckusick <mckusick@FreeBSD.org>2002-10-16 00:19:23 +0000
committermckusick <mckusick@FreeBSD.org>2002-10-16 00:19:23 +0000
commit733bfbdd78ddb9efc129532b2c2239d0bacfaf1a (patch)
tree5d6f505356bd87f3a4e8865b988516fd66137c61 /sys/boot
parent4cf0d794211b208cf47ace3a4fa89b73d19f5d43 (diff)
downloadFreeBSD-src-733bfbdd78ddb9efc129532b2c2239d0bacfaf1a.zip
FreeBSD-src-733bfbdd78ddb9efc129532b2c2239d0bacfaf1a.tar.gz
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.
Diffstat (limited to 'sys/boot')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud