summaryrefslogtreecommitdiff
path: root/build_posix
diff options
context:
space:
mode:
authorKeith Bostic <keith.bostic@mongodb.com>2016-07-21 01:40:24 -0400
committerMichael Cahill <michael.cahill@mongodb.com>2016-07-21 15:40:24 +1000
commit314ef8e74a3f7afcd05117165e8008a5199d4531 (patch)
treef581e254873c16090206d3d4ba9076003568c6cf /build_posix
parent91c035d7715f116284ff5cc1daaa11de98880a33 (diff)
downloadmongo-314ef8e74a3f7afcd05117165e8008a5199d4531.tar.gz
WT-2737 Scrub dirty pages rather than evicting them (#2889)
* Link/include test/testutils with wtperf so we can use the test utility macros and functions in wtperf. * Minor changes to wtperf variables, sort some options, make some things boolean. * Merge the stub memory allocation functions used by the test code and wtperf. * Remove the WT_EVICT_CLEAN flag, it's never used. * __wt_page_can_evict() doesn't need to set WT_EVICTING, the only place that cares is __evict_review(), and it already sets that flag. * Add a new reconciliation flag WT_EVICT_SCRUB; it causes reconciliation to save disk images it creates. Change the eviction of multi-block pages to optionally re-instantiate pages in memory instead of evicting them. * When instantiating pages in-memory, set the read-generation to the same value as the read-generation of the original page (unless it's set to WT_READGEN_OLDEST, in which case leave the page's read-generation unset. * Simplify the in-memory tests some. * Turn on fixed-length store tests, they're no longer slow (no clue what changed). * Sue suggested removing Helium support from wtperf. * Replace dcalloc() calls before snprintf() calls with dmalloc. * Cosmetic cleanup: set the boundary structure's entries when initializing at the start of __rec_split_write(), don't set it at some random spot in the code. * After writing a block during checkpoint, we potentially re-use that block during eviction, and during eviction we'll want a disk image for potential re-instantiation in memory. If re-using a block but the boundary structure doesn't already have a disk image, create one. I don't think the boundary structure will ever already have a disk image in the current code, but future versions of reconciliation might, and the test is the same as the one we have to do for raw compression, which has already created the disk image. * If we're closing, don't instantiate any disk images, additionally, free any disk images we don't use. Both changes should fix the same problem where we have a disk image when we're truly discarding the page during a close, one should prevent us from ever having a disk image at that point, the other should prevent use from using any disk image we have. * Fixes for wtperf directory create changes: ensure the directory exists before the configuration file is dumped and create the right directories in multi-database mode.
Diffstat (limited to 'build_posix')
-rw-r--r--build_posix/Make.subdirs8
1 files changed, 6 insertions, 2 deletions
diff --git a/build_posix/Make.subdirs b/build_posix/Make.subdirs
index 64749378ed1..0b5175e4196 100644
--- a/build_posix/Make.subdirs
+++ b/build_posix/Make.subdirs
@@ -18,14 +18,15 @@ ext/extractors/csv
ext/test/kvs_bdb HAVE_BERKELEY_DB
.
api/leveldb LEVELDB
-bench/wtperf
examples/c
lang/java JAVA
examples/java JAVA
lang/python PYTHON
-# Make the tests
+# Test/Benchmark support library.
test/utility
+
+# Test programs.
test/bloom
test/checkpoint
test/csuite
@@ -39,3 +40,6 @@ test/readonly
test/recovery
test/salvage
test/thread
+
+# Benchmark programs.
+bench/wtperf