Commit graph

1212 commits

Author SHA1 Message Date
Sears Russell
20ef74b104 use pthread_rwlock instead of rwlock userspace emulation of it 2009-10-13 00:29:35 +00:00
Sears Russell
4cb618988d improve performance of noop transactions 2009-10-12 22:29:57 +00:00
Sears Russell
0f2ab3c37c add a few simple multicore scalability tests 2009-10-12 22:29:10 +00:00
Sears Russell
0e93a577c9 use INVALID_LSN instead of hardcoded -1 2009-10-12 22:26:32 +00:00
Sears Russell
5f55abfa23 add support for #!/usr/bin/env timer.pl 2009-10-12 22:25:55 +00:00
Sears Russell
20a3fe9df5 add support for soft commits, and making prior soft commits durable 2009-10-12 19:16:41 +00:00
Sears Russell
942ba7fffc bugfixes + support for hard limits on log size 2009-10-08 22:48:58 +00:00
Sears Russell
8c2ce5f56e fix typo 2009-10-06 00:12:39 +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
24650fa190 buffer manager refactoring; started work on new dirty page table writeback interface (to avoid circular dependencies) 2009-10-05 21:19:01 +00:00
Sears Russell
d01e63e1e4 add build to eclipse C indexer path 2009-10-05 20:48:30 +00:00
Sears Russell
8bf64aed58 fix compiler warning 2009-10-05 20:48:04 +00:00
Sears Russell
0a1ca5e1cc make compilation succeed on macosx; this will still run macs out of disk space. Also, it disables a number of binaries that probably should be supported on macs. 2009-10-02 00:45:10 +00:00
Sears Russell
95d0df4a36 ashok's patch - fix more realloc problems 2009-10-01 02:13:32 +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
e48bc7adf3 partial b-tree stuff 2009-09-10 21:02:56 +00:00
Sears Russell
6abdb3c1c1 fix deadlock in inMemoryLog 2009-08-31 00:51:45 +00:00
Sears Russell
75ed19556b Disable NAIVE_LOCKING in lhtable. (Should never have been enabled...) 2009-08-27 15:28:01 +00:00
Sears Russell
6562d6dd53 Add parens to comparators in allocationPolicy and dirtyPageTable. 2009-08-23 00:32:50 +00:00
Sears Russell
c4e80b41b5 more include cleaning on alloc, begin cleaning of bufferHash 2009-08-22 21:29:27 +00:00
Sears Russell
1ce1496226 dependency cleanups; removed compenastions from alloc.c 2009-08-22 00:01:02 +00:00
Sears Russell
94c542f8b1 Increase dirtyPageTable concurrency
Add special-casing of lhtable; special case for buffer manager.
2009-08-14 06:31:13 +00:00
Sears Russell
dd0bcae074 add thread synchronization logic to ensure that only one thread is performing writeback at a time. This fixes weird I/O interleavings on some machines 2009-08-13 23:18:49 +00:00
Sears Russell
0154f7d29d IMPORTANT API CHANGE: stasis_dirty_page_table_flush_range() no longer force writes to disk. You now need to call forcePageRange() after flush page range returns.
This commit should significantly improve sequential write thoughput.

I found a segfault bug this morning, but cannot reproduce.  Could be a heisenbug, or could have been a hardware fault (gojira repeatedly kernel paniced, then both problems went away...)
2009-08-13 05:53:48 +00:00
Sears Russell
0cc65aefaf Remove LRU-ordered writeback. Instead, writeback pages sequentially once some fraction of the page file is dirty. Also. further simplifies writeback code. 2009-08-11 17:23:43 +00:00
Sears Russell
0f2b2ff200 remove special write path in deinit. (instead, attempt to avoid random I/O on shutdown) 2009-08-08 16:07:20 +00:00
Sears Russell
a0f9a7bc81 Cleaned up page locking + a harmless memory bug. Add missing locks to page writeback. 2009-08-08 07:59:19 +00:00
Sears Russell
3760fd1fea Add missing page lock acquisition to unit test. 2009-08-08 07:52:02 +00:00
Sears Russell
4d2e70f9f3 Set appropriate timeout. 2009-08-08 07:50:06 +00:00
Sears Russell
907a24b68e dirty page table flush was pinning pages, then asserting they were not pinned; updated page writeback api to allow correct usage 2009-08-08 01:43:03 +00:00
Sears Russell
c92ee87c32 improved behavior for sequential I/O performance, fixed races during writeback 2009-08-07 18:27:52 +00:00
Sears Russell
68e947fb6d added missing case to allocationPolicy 2009-08-07 17:26:40 +00:00
Sears Russell
b25d77f05c Fix 32-bit builds. 2009-08-06 04:55:46 +00:00
Sears Russell
a6aa8ed942 added method to access dirtyPageTable 2009-08-05 20:02:33 +00:00
Sears Russell
573cbaa98e implemented missing api calls 2009-08-05 19:56:35 +00:00
Sears Russell
3243396cb4 add dirtyPageTable unit test 2009-08-05 19:51:46 +00:00
Sears Russell
69490f1c98 implement convention that stop=0 means flush to EOF 2009-08-05 19:50:07 +00:00
Sears Russell
16c137aaf7 remove unnecessary checks 2009-08-05 19:48:59 +00:00
Sears Russell
5b10bcc63b Reimplemented allocationPolicy.c; updated API + added more cases to the unit tests. 2009-08-05 06:35:11 +00:00
Sears Russell
beb14ec917 implemented timeouts 2009-07-30 23:16:15 +00:00
Sears Russell
5282d4ad15 fix automake build 2009-07-30 22:46:56 +00:00
Sears Russell
95fe755df5 fixed out of date obsolescence message 2009-07-30 22:27:57 +00:00
Sears Russell
c961b34903 forgot to commit b-tree source files 2009-07-29 21:04:08 +00:00
Sears Russell
ebd6b14dbf single-page btrees are working 2009-07-29 21:03:16 +00:00
Sears Russell
0a308f035c more header cleaning; updated INSTALL 2009-07-26 19:47:05 +00:00
Sears Russell
081c61b414 cleaned up includes, autoconf is now optional, since cmake now creates a config.h 2009-07-26 18:51:45 +00:00
Sears Russell
260310e151 Add page ops for tree implementations. 2009-07-26 06:18:54 +00:00
Sears Russell
5ca3a008fa Code / whitespace cleanup (no logic changes) 2009-07-25 23:17:03 +00:00
Sears Russell
8c012bd1c8 Silence extraneous warning, add '--mode -1' to the slotted benchmark (-1 bypasses function dispatch when setting the records) 2009-07-25 23:02:27 +00:00
Sears Russell
7f2edd880d New (more thorough, less frequent) tests for slotted pages. Renamed slotted methods, added microbenchmark for slotted pages. 2009-07-20 17:42:43 +00:00