Commit graph

1498 commits

Author SHA1 Message Date
Sears Russell
650e8ed7e1 tweak flags for better support for multiple concurrent sequential writes 2011-10-10 05:14:19 +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
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