stasis-aries-wal/stasis
Sears Russell c7fa929e71 This fixes in Stasis issue 22.
Replacement policies now track the pin count of each page that they interact with.  This behavior used to live in bufferHash, and had never been ported to concurrentBufferManager.

For various reasons, the pin counts have to be updated atomically with the LRU state.  This would be very difficult to do inside of concurrentBufferManager, which sometimes needs to add and remove pages to replacement policies without holding any other latches.
2010-04-20 01:09:32 +00:00
..
bufferManager C++ compatibility fix 2010-02-11 22:18:49 +00:00
io expose stasis_handle_t up through the buffer manager; add sequential I/O hinting; fix stupid busy-wait in prefetch 2010-04-12 20:54:10 +00:00
logger fix nested top action log race; because of a refactoring mistake, it was releasing a mutex without acquiring it... 2010-01-21 20:27:35 +00:00
operations expose stasis_handle_t up through the buffer manager; add sequential I/O hinting; fix stupid busy-wait in prefetch 2010-04-12 20:54:10 +00:00
page avoid use of -Wno-variadic-macros, which causes an error with gcc 3. 2010-01-20 23:51:54 +00:00
.cvsignore Renamed 'lladd' directories and python module to 'stasis' 2007-06-11 21:36:57 +00:00
allocationPolicy.h Reimplemented allocationPolicy.c; updated API + added more cases to the unit tests. 2009-08-05 06:35:11 +00:00
arrayCollection.h Renamed 'lladd' directories and python module to 'stasis' 2007-06-11 21:36:57 +00:00
blobManager.h renamed some functions to match naming convention 2009-05-08 06:53:30 +00:00
bufferManager.h expose stasis_handle_t up through the buffer manager; add sequential I/O hinting; fix stupid busy-wait in prefetch 2010-04-12 20:54:10 +00:00
bufferPool.h removed static variables from bufferPool.c; renamed methods, moved Page typedef to common.h 2009-04-13 21:55:08 +00:00
common.h silence compiler warning 2010-03-29 22:28:32 +00:00
compensations.h fix doxygen warnings 2008-10-01 20:32:02 +00:00
concurrentHash.h new concurrent buffer manager 2009-11-09 19:50:00 +00:00
config.h.in Renamed 'lladd' directories and python module to 'stasis' 2007-06-11 21:36:57 +00:00
constants.h added new constant: INVALID_SIZE 2010-02-11 20:36:33 +00:00
consumer.h Fixed some documentation warnings, and clarified a few points. 2008-04-17 06:29:34 +00:00
crc32.h unsigned int -> uint32_t 2010-01-19 01:47:13 +00:00
dirtyPageTable.h buffer manager refactoring; started work on new dirty page table writeback interface (to avoid circular dependencies) 2009-10-05 21:19:01 +00:00
doubleLinkedList.h Renamed 'lladd' directories and python module to 'stasis' 2007-06-11 21:36:57 +00:00
fifo.h Renamed 'lladd' directories and python module to 'stasis' 2007-06-11 21:36:57 +00:00
flags.h add prefetch primitives 2010-03-29 22:29:30 +00:00
graph.h Renamed 'lladd' directories and python module to 'stasis' 2007-06-11 21:36:57 +00:00
hash.h Increase dirtyPageTable concurrency 2009-08-14 06:31:13 +00:00
iterator.h clean up iterator interface; remove Titerator_releaseLock() 2009-06-28 18:54:57 +00:00
latches.h use pthread_rwlock instead of rwlock userspace emulation of it 2009-10-13 00:29:35 +00:00
lhtable.h Increase dirtyPageTable concurrency 2009-08-14 06:31:13 +00:00
linkedlist.h All headers now live in the header directory. (stasis/, not src/stasis) 2008-04-13 04:02:57 +00:00
lockManager.h use pageid instead of int; Tupdate now takes a pageid instead of a recordid 2008-10-03 02:42:25 +00:00
Makefile.am support "make install", and use libtool to generate .so, .a files. 2007-06-25 15:47:28 +00:00
multiplexer.h Renamed 'lladd' directories and python module to 'stasis' 2007-06-11 21:36:57 +00:00
operations.h dependency cleanups; removed compenastions from alloc.c 2009-08-22 00:01:02 +00:00
page.h fix rose bit rot, have unintialized page clear the impl pointer (for tidyness), remove some resolved @todos. 2009-12-04 19:33:09 +00:00
pageHandle.h expose stasis_handle_t up through the buffer manager; add sequential I/O hinting; fix stupid busy-wait in prefetch 2010-04-12 20:54:10 +00:00
recovery.h more refactoring; no more globals in transactionTable.c 2009-10-14 21:22:50 +00:00
redblack.h wrote some wrappers that emulate redblack; default to stl tree for now 2009-11-24 00:24:18 +00:00
replacementPolicy.h This fixes in Stasis issue 22. 2010-04-20 01:09:32 +00:00
ringbuffer.h Renamed 'lladd' directories and python module to 'stasis' 2007-06-11 21:36:57 +00:00
rw.h reordered includes for compatibility with gcc3 2010-01-21 00:03:17 +00:00
stamp-h.in Renamed 'lladd' directories and python module to 'stasis' 2007-06-11 21:36:57 +00:00
stamp-h1 Renamed 'lladd' directories and python module to 'stasis' 2007-06-11 21:36:57 +00:00
stats.h Renamed 'lladd' directories and python module to 'stasis' 2007-06-11 21:36:57 +00:00
stlredblack.h unit test for libredblack 2010-01-21 23:48:43 +00:00
transactional.h Added concept of "transaction fingerprints" 2010-02-18 19:12:46 +00:00
transactionTable.h add deferred, end of transaction callbacks. addresses issue 15 2009-12-15 06:30:37 +00:00
truncation.h more refactoring; no more globals in transactionTable.c 2009-10-14 21:22:50 +00:00
tsearchcompat.h wrote some wrappers that emulate redblack; default to stl tree for now 2009-11-24 00:24:18 +00:00