diff options
author | Keith Bostic <keith@wiredtiger.com> | 2013-11-16 10:25:38 -0500 |
---|---|---|
committer | Keith Bostic <keith@wiredtiger.com> | 2013-11-16 10:25:38 -0500 |
commit | d9060a6effb0ae8257f6e36de5c02471a032e2cd (patch) | |
tree | 20987c4a053de4bb35ccd5ab9592e2dc42758d0f | |
parent | 25a84f155b37bea6198f497278ef094992c0b770 (diff) | |
download | mongo-d9060a6effb0ae8257f6e36de5c02471a032e2cd.tar.gz |
Changed my mind -- don't lock/unlock, use a barrier (the same way we do in
compaction) to push the change, rather than acquiring a spinlock we don't
need.
-rw-r--r-- | src/btree/bt_evict.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/btree/bt_evict.c b/src/btree/bt_evict.c index a5dfaee6d83..404aaa5a5bb 100644 --- a/src/btree/bt_evict.c +++ b/src/btree/bt_evict.c @@ -600,13 +600,12 @@ err: /* On error, clear any left-over tree walk. */ if (btree->checkpointing) { /* - * Lock/unlock around clearing the checkpointing flag; it's not - * required, but publishing the change ensures stalled eviction - * gets moving as soon as possible. + * Clear the checkpoint flag and push the change; not required, + * but publishing the change means stalled eviction gets moving + * as soon as possible. */ - __wt_spin_lock(session, &cache->evict_lock); btree->checkpointing = 0; - __wt_spin_unlock(session, &cache->evict_lock); + WT_FULL_BARRIER(); /* * Wake the eviction server, in case application threads have |