Sears Russell
b39403ea02
remove dead "raw" page format
2011-11-07 22:38:23 +00:00
Sears Russell
b126b45bcc
Improve sequential write performance of buffer manager.
...
This patch adds support for "asyncForce" which forces all pages to disk that
were dirtied before the *previous* call call to asyncForce. This method
only applies to dirty pages in the Linux file cache (not in the Stasis buffer
pool), and is used by new writeback logic that bounds the amount of such
backlog that exists at any given time.
This patch also changes writeback behavior; the dirty page table now sorts
pages by pageid instead of LSN when it is invoked by writeback. When it is
invoked by log truncation, it still sorts by LSN.
2011-10-08 22:01:04 +00:00
Sears Russell
64653e3cbe
fix some obscure rose bugs detected by static analysis
2011-10-06 17:12:38 +00:00
Sears Russell
557c63a0f3
remove duplicated implementations of log2
2011-10-06 17:11:22 +00:00
Sears Russell
52cd86f7f6
move myrandom into stasis/util, rename it stasis_util_random64
2011-08-31 19:25:09 +00:00
Sears Russell
08c8be07b1
add support for fallocate(); enable it by default if it is available at build time.
2011-08-25 21:29:51 +00:00
Sears Russell
9083bca1c3
Implement CLOCK replacement policy, and set it to be the default. Add flags to configure the default replacement policy.
2011-08-23 18:25:26 +00:00
Sears Russell
c79f22a277
remove an unnecessary (and contended) latch acquisition from dirty page table
2011-08-19 22:43:28 +00:00
Sears Russell
98da9a54b8
remove docmentation cruft
2011-07-26 19:16:44 +00:00
Sears Russell
e692682cf8
remove questionable truncate and append api from handle.c
2011-07-26 19:15:14 +00:00
Sears Russell
7f332f85cc
fix deadlock in filePool logger. The deadlock was due to pages being evicted before Tupdate() released the log entry for writeback. Now, we track another timestamp, so that Tupdate() starts with something analogous to a writelock, and downgrades it to a readlock before pinning pages, and invoking callbacks
2011-07-15 17:37:50 +00:00
Sears Russell
852c46b97b
move gcc atomic stuff into centralized location, add methods for atomically manipulating 64 bit integers (since 32 bit machines need gcc to emit special instructions)
2011-07-15 17:34:44 +00:00
Sears Russell
90bc92c6ca
switch concurrent hash to crc32
2011-07-07 22:14:28 +00:00
Sears Russell
d8621db18f
move latching stuff to util/, blobs to operations/
2011-06-13 11:26:25 +00:00
Sears Russell
a89c09d87c
moved in-memory data structures and hash functions to util/
2011-06-13 10:19:44 +00:00
Sears Russell
87d4563ab5
move compression and latchFree page formats to experimental/
2011-06-13 08:02:20 +00:00
Sears Russell
377788a13e
move a bunch of multiplexer and lsm related stuff into experimental/ directory
2011-06-13 06:58:34 +00:00
Sears Russell
312f8182f9
delete dead tsearchcompat stuff
2011-06-12 10:34:59 +00:00
Sears Russell
4fb44b6f5f
whitespace fixup after removal of compensations
2011-06-12 09:20:58 +00:00
Sears Russell
c5a36c032d
remove compensations.h (This is a big change, and impacts lots of whitespace. I have left some indentation breakage in place in order to minimize the size of the diff)
2011-06-12 08:13:34 +00:00
Sears Russell
bb89c5a0cf
stop gratuitiously forcing the log to disk each time it is read (which was causing Tabort() to run extremely slowly). Also, add a "tryflush()" method to ringbuffer.
2011-06-12 05:15:42 +00:00
Sears Russell
801fb6de26
bugfixes and optimizations for the new log format; log preallocation and truncation utilities
2011-05-14 03:49:38 +00:00
Sears Russell
47a587ff81
fix memory leak in bTree
2011-04-26 04:16:07 +00:00
Sears Russell
1b71865b7d
minor log fixes. add stasis_log_chunk_name flag.
2011-04-20 21:50:56 +00:00
Sears Russell
853394f022
fix compiler warnings regarding min and concurrentRingbuffer
2011-04-20 20:34:39 +00:00
Sears Russell
fbdc102d6c
change replacementPolicy to avoid a malloc / free during page pins
2011-04-20 20:25:17 +00:00
Sears Russell
84bbeca165
filePool implementation is more-or-less complete. added remaining functions and latching
2011-04-19 18:51:43 +00:00
Sears Russell
2f664271b4
partial implementation of filePool log format. force and truncate are unimplemented, as is attempting to read unflushed data.
2011-04-18 20:31:19 +00:00
Sears Russell
175c26e125
add flush and shutdown apis to concurrent ringbuffer, tighten up get_rd_buf api
2011-04-18 20:21:16 +00:00
Sears Russell
ab058db5d3
add stasis_double_to_timeval()
2011-04-18 20:08:40 +00:00
Sears Russell
e087c9c073
add alternative implementation of min aggregate for small sets. It avoids red black overheads, but some operations are linear in the number of values considered by the aggregate
2011-04-18 20:04:33 +00:00
Sears Russell
304b439217
new data structures: min aggregate and concurrent ringbuffer
2011-04-14 23:03:20 +00:00
Sears Russell
e1201970b6
add firstPendingEntry call to log API, use finer grained latches in Tupdate().
2011-04-01 17:25:46 +00:00
Sears Russell
188b03152c
fix blob recovery issue; pages were being initialized outside of tupdate, breaking recovery
2011-03-29 22:27:31 +00:00
Sears Russell
b20cd8cd0f
document the fact that LSN 0 is reserved
2011-03-25 20:24:40 +00:00
Sears Russell
5364377fd9
Fix handling of lsns in loadUninitializedPage(). This change is more of a hack than I would like.
2011-03-25 20:03:50 +00:00
Sears Russell
e7280de51f
add ints to enum definition
2011-03-21 21:25:32 +00:00
Sears Russell
bb5efafcd7
comment out declaration of non-existant function
2011-03-21 21:25:00 +00:00
Sears Russell
50335355a4
fix linker error in build
2011-03-18 23:35:26 +00:00
Sears Russell
22802f72c3
add percentile handling to histogram
2011-02-25 19:47:14 +00:00
Sears Russell
de8bf53e98
fix some header #include problems
2011-02-22 19:12:38 +00:00
Sears Russell
fb5791e7e4
one line fix to concurrentHashTable, plus documentation and improved unit tests.
2011-02-15 02:57:19 +00:00
Sears Russell
c4ebeb1285
add missing calls to various pthread destructors
2011-02-02 21:20:18 +00:00
Sears Russell
0a461faa04
add "raid1" a simple mirroring I/O handle implementation
2010-12-03 03:51:24 +00:00
Sears Russell
c7e07c5c5d
cleaned up initialization code for stasis handles; it is no longer possible to instantiate the (long broken) non-blocking handle implementation
2010-12-03 02:18:56 +00:00
Sears Russell
a7f71d6dbf
add convenience macros to latency profiler; turn on pread/pwrite profiling by default
2010-11-30 18:33:22 +00:00
Sears Russell
d8634edb3d
add --target-ops option for the bufferManager benchmark.
2010-11-29 19:17:13 +00:00
Sears Russell
1708a716e1
add custom slab allocator for stlredblack
2010-11-13 06:08:57 +00:00
Sears Russell
0d5c22991d
add util/multiset; optimize flush with target lsn
2010-11-13 06:03:30 +00:00
Sears Russell
6b302226ab
fix transaction table leaks during recovery; add debugging field to xact table entries
2010-11-05 18:57:18 +00:00