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
d6763bc57b
remove dead (not even compiled) unit test
2011-10-06 17:10:22 +00:00
Sears Russell
9b9b3b5d03
fix broken assert in unit test
2011-10-06 17:08:45 +00:00
Sears Russell
f89bb28543
make test now automatically runs the ruby unit tests (forgot to commit new CMakeLists)
2011-09-26 04:20:33 +00:00
Sears Russell
98375ec945
make test now automatically runs the ruby unit tests
2011-09-26 04:20:07 +00:00
Sears Russell
402dc71fa0
update perl unit test to remove stasis_log as well as logfile.txt
2011-09-26 00:47:56 +00:00
Sears Russell
6ebc39e54a
run hash benchmarks on various array sizes
2011-09-26 00:34:33 +00:00
Sears Russell
e801554d5f
get rid of strange "1" in doxygen output
2011-09-26 00:20:07 +00:00
Sears Russell
efbb07867a
add defaults for some of the rawIOPS.pl command line options
2011-09-06 19:58:30 +00:00
Sears Russell
a101e90be7
fix warning
2011-09-06 19:56:39 +00:00
Sears Russell
e874a36aca
add driver script for rawIOPS
2011-08-31 20:25:45 +00:00
Sears Russell
bff907ff7a
added rawIOPS benchmark
2011-08-31 19:26:33 +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
e966327112
add benchmark of CRC32 throughput vs. memory bandwidth
2011-08-31 18:07:38 +00:00
Sears Russell
e5826302a3
add seekMap benchmark utility
2011-08-31 15:50:21 +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
829a2441e5
disable pfile latency profile by default
2011-08-19 22:17:50 +00:00
Sears Russell
0dadb7f540
change pinDifferentPages benchmark so that the pages have poor memory locality. This leads to much lower performance.
2011-08-19 22:16:30 +00:00
Sears Russell
090124e3fe
add read-only mode to sequentialThroughput benchmark, add timing data to its output
2011-08-19 22:15:38 +00:00
Sears Russell
41f57f46ba
remove redundant rwlatch acquistions from pageHandle
2011-08-19 22:11:51 +00:00
Sears Russell
6f3399a9a7
whitespace fixes in comment
2011-08-19 22:08:11 +00:00
Sears Russell
6e1ba8fe48
clarified some comments
2011-08-19 22:07:22 +00:00
Sears Russell
50ec28e806
fix build on machines that have sync_file_range
2011-08-03 20:22:48 +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
9244d4607f
fix api violation
2011-07-15 16:29:12 +00:00
Sears Russell
b271eefaa4
remove write lock which is no longer required by buffer manager API
2011-07-15 16:28:50 +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
b477ac11a6
remove wrapper cruft
2011-06-12 11:21:16 +00:00
Sears Russell
80ab0d684c
port recovery from pbl hash api to lhtable api
2011-06-12 11:03:48 +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
aee5cca000
fix compiler warning
2011-06-12 08:26:49 +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
88d9ce157a
cmake fixes
2011-05-14 03:52:09 +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
92f9b307f1
minor memory leak in filePool
2011-04-26 04:18:33 +00:00
Sears Russell
701394ab8e
fix major memory leak in dirtyPageTable
2011-04-26 04:18:11 +00:00
Sears Russell
f868b03b0a
minor memory leaks in concurrentBufferManager
2011-04-26 04:17:36 +00:00