Commit graph

22 commits

Author SHA1 Message Date
Sears Russell
fdf5344ec3 Implemented 'compensations' for C. They're not proper compensations, but they're more flexible than pthread's mechanisms, as they allow the stack to be partially rolled up. (Although calling functions need to either check for errors and return manually, or wrap calls to error-producing callees in a begin_action{ }end_action block. 2005-02-14 02:49:59 +00:00
Sears Russell
6f022cc577 Some random code cleanups, and implemented a naive lock manager. (Still need to tie it into LLADD...) 2005-02-09 02:53:14 +00:00
Sears Russell
1260710a27 Got rid of another broken hash implementation... 2005-01-31 01:34:29 +00:00
Sears Russell
7cf5fdee6e Re-implemented pageOrientedListNTA from scratch. It's now more flexible, but relies on features that are not provided by Talloc/Tdealloc, so performance isn't as good as it could be. 2005-01-29 01:17:37 +00:00
Sears Russell
17f76264aa Implemented pageOrientedList, also did some bug fixing, and added some support functions to alloc.c 2005-01-28 03:32:17 +00:00
Sears Russell
7a990886d2 The linked list implementation now uses nested top actions. (Also, many bugfixes regarding nested top actions were introduced.) 2005-01-14 10:08:10 +00:00
Sears Russell
360f0d15e2 Working, non-concurrent linear hash and linked list implementations.
The idea is to implement the non-concurrent versions, and then convert
them to concurrent versions using nested top actions.
2005-01-14 01:52:53 +00:00
Sears Russell
55b0ddf1b6 Fixed nasty bug that was causing the LLADD header to be lost (!!) 2004-12-06 01:20:48 +00:00
Sears Russell
ec1276f26f Preliminary version of logical logging linear hash. (No latching yet, and there are some bugs re-opening a closed hash.) 2004-10-18 18:24:54 +00:00
Sears Russell
a078f25475 Implemented a linear hash from scratch. Concurrency hasn't been done, but it's probably correct in the single thread case. 2004-10-12 02:44:47 +00:00
Sears Russell
811bc5c710 Implemented a freespace manager that should safely allocate space, even in the face of crashes, and can reclaim unused space (unless an application opens more than one simultaneous transaction that performs allocations)
Fixed some blob bugs (by adding extra fdatasync() calls).

Began factoring out the page management code so that it is an extenstion, and a less integral part of lladd.
2004-08-21 00:03:30 +00:00
Sears Russell
82e3fdb53a Added (untested) support for whole-page operations, lladdhash now works. 2004-08-03 02:04:56 +00:00
Sears Russell
e51759b517 Implemented indirect pages, and fixed some bugs here and there. (Still need to add transactional support for indirect pages...) 2004-07-31 00:27:55 +00:00
Sears Russell
78eb2cbf6a O_DIRECT (sort of...) 2004-07-27 21:30:54 +00:00
Sears Russell
54ba9b0347 Refactored bufferMananger / pageCache, so that bufferMananger handles loading an unloading pages, and pageCache only implements the replacement policy.
Also, used memprof to detect and remove all memory leaks (at least all memory leaks that are encountered by check_transactional2), and fixed a number of misuses of the pblHash.
2004-07-27 01:04:35 +00:00
Sears Russell
490dd86c09 pageCache.c is now re-entrant. 2004-07-20 00:15:17 +00:00
Sears Russell
12fc5665ab pageCache is now re-entrant, in theory. 2004-07-15 00:42:36 +00:00
Sears Russell
475b8141d3 page.c is re-entrant (mostly), and now reuses DeRalloced space properly. (For now, BufferManager still is not re-entrant, and also prevents space from being reused.) 2004-07-13 23:48:20 +00:00
Sears Russell
e1d3bf7a0c Ported LLADD to Fedora, cleaned up autoconf setup, and numerouse #includes that were problematic. 2004-07-06 01:22:18 +00:00
Sears Russell
f8015a5687 Documentation update, added latch profiling tools. 2004-07-04 00:46:49 +00:00
Sears Russell
fab0e6cbbd Bugfixes ; blobs pass regression. Next stop: Delete old cruft. 2004-06-28 21:10:10 +00:00
Sears Russell
d1f76f0b4a Initial revision 2004-06-24 21:10:31 +00:00