Commit graph

1508 commits

Author SHA1 Message Date
Sears Russell
7660467f8e Refactor page implementation to use multiple include trick (so the backing representation can be changed).
Also, fix apparent bug in stasis_page_fixed_set_record_type().

Otherwise, this change should not make any semantic changes.
2011-11-09 21:37:38 +00:00
Sears Russell
913f0a4401 fix compiler warning 2011-11-08 02:05:38 +00:00
Sears Russell
0058042987 test + fix allocation of zero byte records 2011-11-07 22:53:55 +00:00
Sears Russell
cb97772aa6 experimental java language bindings 2011-11-07 22:46:32 +00:00
Sears Russell
7650e5ab53 add a number of low-level disk bencmarks 2011-11-07 22:41:01 +00:00
Sears Russell
b39403ea02 remove dead "raw" page format 2011-11-07 22:38:23 +00:00
Sears Russell
20d2196040 printf -> DEBUG for ringbuffer 2011-11-06 15:49:33 +00:00
Sears Russell
4b300dda7a printf -> DEBUG for filePool 2011-11-06 15:48:50 +00:00
Sears Russell
682a6a20f2 move asyncForce outside of conditional to better bound number of dirty pages in os cache 2011-11-04 20:45:55 +00:00
Sears Russell
e081793f32 increase log file chunk size to avoid running out of file descriptors 2011-11-04 20:45:06 +00:00
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