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