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
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
e692682cf8
remove questionable truncate and append api from handle.c
2011-07-26 19:15:14 +00:00
Sears Russell
1b71865b7d
minor log fixes. add stasis_log_chunk_name flag.
2011-04-20 21:50:56 +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
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
36546b3a2d
add factory methods for log implementation
2010-11-05 18:53:10 +00:00
Sears Russell
00cf4eb4ce
fix bug in lru backoff, add flag for buffer manager stress testing, add support for buffer manager handles to concurrentBufferManager, fix support in bufferHash
2010-09-28 23:50:07 +00:00
Sears Russell
ae04cee76c
exponential backoff and power of two bucket flag for concurrenntWrapper (disabled by default)
2010-09-27 00:11:34 +00:00
Sears Russell
a3e7fc0fe2
add hint: stasis_buffer_manager_hint_writes_are_sequential. if set to 1, then only one thread will write back at a time, which leads to greatly improved sequential write throughput
2010-09-23 23:09:43 +00:00
Sears Russell
7a27e39e5b
MAX_BUFFER_SIZE is now a runtime (pre-tinit) option; clean up some doxygen warnings
2010-07-16 16:52:08 +00:00
Sears Russell
2d645beb42
cleaned up multipage operations a bit; added stasis_segments_enabled flag
2010-05-11 22:01:37 +00:00
Sears Russell
3c27ed566e
add prefetch primitives
2010-03-29 22:29:30 +00:00
Sears Russell
942ba7fffc
bugfixes + support for hard limits on log size
2009-10-08 22:48:58 +00:00
Sears Russell
6a02f2f159
buffer manager implementation is now determined by an overridable factory method
2009-10-05 22:39:09 +00:00
Sears Russell
4689582cb5
improve log performance by disabling O_SYNC by default (and use fdatasync instead)
2009-09-12 16:20:13 +00:00
Sears Russell
87218ad929
yet another refactoring; broke groupForce into its own module, removed more static variables and namespace violations
2009-05-13 18:04:53 +00:00
Sears Russell
4b07b538a6
Renamed some methods; fixed bug that caused recovery to create potentially unbounded numbers of concurrent, active transactions.
...
(Note: this commit contains quite a few instances of auto-cleaned whitespace....)
2009-04-11 17:17:42 +00:00
Sears Russell
95e9158847
checkin partially implemented log based on file pool so that svn will compile
2009-01-05 21:57:33 +00:00
Sears Russell
2dcc6598d2
added support for softcommit, and for compile / runtime configuration of stasis log + storefile locations
2008-12-01 22:45:32 +00:00
Sears Russell
b167b98085
* Remove spurious warnings messages from tests that intentionally crash stasis.
...
* Move and rename lladd_autoTruncation flag to stasis_truncation_automatic in flags.c
2007-10-23 23:16:58 +00:00
Sears Russell
c9bbf3af94
Converted page.h to follow new naming convention; documented new page api; begun stasis documentation cleanup.
2007-10-02 00:18:33 +00:00
Sears Russell
519bd515f4
New access method for the buffer manager; write coalescing; runtime bufferManager selection and a few bufferManager bugfixes.
2007-08-20 16:25:08 +00:00