feat: st2334 cheatsheet

This commit is contained in:
2025-09-27 17:30:36 +08:00
parent 336ee081c6
commit 01d07eb1df
42 changed files with 21436 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
CPP=gcc
OPTS=-g -Wall
LIBS=-lresolv -ldl -lm
# Modify SRC_DIR as necessary
SRC_DIR=$(HOME)/postgresql-17.6
INCLUDE=-I$(SRC_DIR)/src/include
freelist_yaclock.o: freelist_yaclock.c
$(CPP) $(OPTS) $(INCLUDE) -c -o freelist_yaclock.o freelist_yaclock.c
clean:
rm -f *.o
yaclock: copyyaclock pgsql
clock: copyclock pgsql
copyyaclock:
cp freelist_yaclock.c $(SRC_DIR)/src/backend/storage/buffer/freelist.c
cp bufmgr_yaclock.c $(SRC_DIR)/src/backend/storage/buffer/bufmgr.c
copyclock:
cp freelist.original.c $(SRC_DIR)/src/backend/storage/buffer/freelist.c
cp bufmgr.original.c $(SRC_DIR)/src/backend/storage/buffer/bufmgr.c
pgsql:
cd $(SRC_DIR) && make MAKELEVEL=0 && make install

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

25
cs3223/cs3223_assign1/diff.sh Executable file
View File

@@ -0,0 +1,25 @@
#!/usr/bin/env bash
# Compare your testresults files and provided solution files
set -euo pipefail
policy=yaclock
result_dir=testresults-${policy}
soln_dir=${result_dir}-soln
for dir in ${result_dir} ${soln_dir}
do
if [ ! -d ${dir} ]; then
echo "ERROR: Directory ${dir} missing!"
exit 1
fi
done
for i in {0..9}
do
echo "############### testcase $i "
diff ${soln_dir}/result-$i.txt ${result_dir}/result-$i.txt
echo
done

View File

@@ -0,0 +1,29 @@
shared_buffers
----------------
64MB
(1 row)
Tue Sep 2 01:35:38 PM +08 2025
pgbench (17.6)
transaction type: <builtin: TPC-B (sort of)>
scaling factor: 4
query mode: simple
number of clients: 10
number of threads: 10
maximum number of tries: 1
duration: 360 s
number of transactions actually processed: 1116302
number of failed transactions: 0 (0.000%)
latency average = 3.225 ms
initial connection time = 6.881 ms
tps = 3100.827321 (without initial connection time)
Tue Sep 2 01:41:38 PM +08 2025
heap_read | heap_hit | hit_ratio
-----------+----------+------------------------
35509 | 20534452 | 0.99827374490403749429
(1 row)

View File

@@ -0,0 +1,816 @@
/*-------------------------------------------------------------------------
*
* freelist.c
* routines for managing the buffer pool's replacement strategy.
*
*
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
*
* IDENTIFICATION
* src/backend/storage/buffer/freelist.c
*
*-------------------------------------------------------------------------
*/
#include "postgres.h"
#include "pgstat.h"
#include "port/atomics.h"
#include "storage/buf_internals.h"
#include "storage/bufmgr.h"
#include "storage/proc.h"
#define INT_ACCESS_ONCE(var) ((int)(*((volatile int *)&(var))))
/*
* The shared freelist control information.
*/
typedef struct
{
/* Spinlock: protects the values below */
slock_t buffer_strategy_lock;
/*
* Clock sweep hand: index of next buffer to consider grabbing. Note that
* this isn't a concrete buffer - we only ever increase the value. So, to
* get an actual buffer, it needs to be used modulo NBuffers.
*/
pg_atomic_uint32 nextVictimBuffer;
int firstFreeBuffer; /* Head of list of unused buffers */
int lastFreeBuffer; /* Tail of list of unused buffers */
/*
* NOTE: lastFreeBuffer is undefined when firstFreeBuffer is -1 (that is,
* when the list is empty)
*/
/*
* Statistics. These counters should be wide enough that they can't
* overflow during a single bgwriter cycle.
*/
uint32 completePasses; /* Complete cycles of the clock sweep */
pg_atomic_uint32 numBufferAllocs; /* Buffers allocated since last reset */
/*
* Bgworker process to be notified upon activity or -1 if none. See
* StrategyNotifyBgWriter.
*/
int bgwprocno;
} BufferStrategyControl;
/* Pointers to shared state */
static BufferStrategyControl *StrategyControl = NULL;
/*
* Private (non-shared) state for managing a ring of shared buffers to re-use.
* This is currently the only kind of BufferAccessStrategy object, but someday
* we might have more kinds.
*/
typedef struct BufferAccessStrategyData
{
/* Overall strategy type */
BufferAccessStrategyType btype;
/* Number of elements in buffers[] array */
int nbuffers;
/*
* Index of the "current" slot in the ring, ie, the one most recently
* returned by GetBufferFromRing.
*/
int current;
/*
* Array of buffer numbers. InvalidBuffer (that is, zero) indicates we
* have not yet selected a buffer for this ring slot. For allocation
* simplicity this is palloc'd together with the fixed fields of the
* struct.
*/
Buffer buffers[FLEXIBLE_ARRAY_MEMBER];
} BufferAccessStrategyData;
/* Prototypes for internal functions */
static BufferDesc *GetBufferFromRing(BufferAccessStrategy strategy,
uint32 *buf_state);
static void AddBufferToRing(BufferAccessStrategy strategy,
BufferDesc *buf);
/*
* ClockSweepTick - Helper routine for StrategyGetBuffer()
*
* Move the clock hand one buffer ahead of its current position and return the
* id of the buffer now under the hand.
*/
static inline uint32
ClockSweepTick(void)
{
uint32 victim;
/*
* Atomically move hand ahead one buffer - if there's several processes
* doing this, this can lead to buffers being returned slightly out of
* apparent order.
*/
victim =
pg_atomic_fetch_add_u32(&StrategyControl->nextVictimBuffer, 1);
if (victim >= NBuffers)
{
uint32 originalVictim = victim;
/* always wrap what we look up in BufferDescriptors */
victim = victim % NBuffers;
/*
* If we're the one that just caused a wraparound, force
* completePasses to be incremented while holding the spinlock. We
* need the spinlock so StrategySyncStart() can return a consistent
* value consisting of nextVictimBuffer and completePasses.
*/
if (victim == 0)
{
uint32 expected;
uint32 wrapped;
bool success = false;
expected = originalVictim + 1;
while (!success)
{
/*
* Acquire the spinlock while increasing completePasses. That
* allows other readers to read nextVictimBuffer and
* completePasses in a consistent manner which is required for
* StrategySyncStart(). In theory delaying the increment
* could lead to an overflow of nextVictimBuffers, but that's
* highly unlikely and wouldn't be particularly harmful.
*/
SpinLockAcquire(&StrategyControl->buffer_strategy_lock);
wrapped = expected % NBuffers;
success = pg_atomic_compare_exchange_u32(&StrategyControl->nextVictimBuffer,
&expected, wrapped);
if (success)
StrategyControl->completePasses++;
SpinLockRelease(&StrategyControl->buffer_strategy_lock);
}
}
}
return victim;
}
/*
* have_free_buffer -- a lockless check to see if there is a free buffer in
* buffer pool.
*
* If the result is true that will become stale once free buffers are moved out
* by other operations, so the caller who strictly want to use a free buffer
* should not call this.
*/
bool
have_free_buffer(void)
{
if (StrategyControl->firstFreeBuffer >= 0)
return true;
else
return false;
}
/*
* StrategyGetBuffer
*
* Called by the bufmgr to get the next candidate buffer to use in
* BufferAlloc(). The only hard requirement BufferAlloc() has is that
* the selected buffer must not currently be pinned by anyone.
*
* strategy is a BufferAccessStrategy object, or NULL for default strategy.
*
* To ensure that no one else can pin the buffer before we do, we must
* return the buffer with the buffer header spinlock still held.
*/
BufferDesc *
StrategyGetBuffer(BufferAccessStrategy strategy, uint32 *buf_state, bool *from_ring)
{
BufferDesc *buf;
int bgwprocno;
int trycounter;
uint32 local_buf_state; /* to avoid repeated (de-)referencing */
*from_ring = false;
/*
* If given a strategy object, see whether it can select a buffer. We
* assume strategy objects don't need buffer_strategy_lock.
*/
if (strategy != NULL)
{
buf = GetBufferFromRing(strategy, buf_state);
if (buf != NULL)
{
*from_ring = true;
return buf;
}
}
/*
* If asked, we need to waken the bgwriter. Since we don't want to rely on
* a spinlock for this we force a read from shared memory once, and then
* set the latch based on that value. We need to go through that length
* because otherwise bgwprocno might be reset while/after we check because
* the compiler might just reread from memory.
*
* This can possibly set the latch of the wrong process if the bgwriter
* dies in the wrong moment. But since PGPROC->procLatch is never
* deallocated the worst consequence of that is that we set the latch of
* some arbitrary process.
*/
bgwprocno = INT_ACCESS_ONCE(StrategyControl->bgwprocno);
if (bgwprocno != -1)
{
/* reset bgwprocno first, before setting the latch */
StrategyControl->bgwprocno = -1;
/*
* Not acquiring ProcArrayLock here which is slightly icky. It's
* actually fine because procLatch isn't ever freed, so we just can
* potentially set the wrong process' (or no process') latch.
*/
SetLatch(&ProcGlobal->allProcs[bgwprocno].procLatch);
}
/*
* We count buffer allocation requests so that the bgwriter can estimate
* the rate of buffer consumption. Note that buffers recycled by a
* strategy object are intentionally not counted here.
*/
pg_atomic_fetch_add_u32(&StrategyControl->numBufferAllocs, 1);
/*
* First check, without acquiring the lock, whether there's buffers in the
* freelist. Since we otherwise don't require the spinlock in every
* StrategyGetBuffer() invocation, it'd be sad to acquire it here -
* uselessly in most cases. That obviously leaves a race where a buffer is
* put on the freelist but we don't see the store yet - but that's pretty
* harmless, it'll just get used during the next buffer acquisition.
*
* If there's buffers on the freelist, acquire the spinlock to pop one
* buffer of the freelist. Then check whether that buffer is usable and
* repeat if not.
*
* Note that the freeNext fields are considered to be protected by the
* buffer_strategy_lock not the individual buffer spinlocks, so it's OK to
* manipulate them without holding the spinlock.
*/
if (StrategyControl->firstFreeBuffer >= 0)
{
while (true)
{
/* Acquire the spinlock to remove element from the freelist */
SpinLockAcquire(&StrategyControl->buffer_strategy_lock);
if (StrategyControl->firstFreeBuffer < 0)
{
SpinLockRelease(&StrategyControl->buffer_strategy_lock);
break;
}
buf = GetBufferDescriptor(StrategyControl->firstFreeBuffer);
Assert(buf->freeNext != FREENEXT_NOT_IN_LIST);
/* Unconditionally remove buffer from freelist */
StrategyControl->firstFreeBuffer = buf->freeNext;
buf->freeNext = FREENEXT_NOT_IN_LIST;
/*
* Release the lock so someone else can access the freelist while
* we check out this buffer.
*/
SpinLockRelease(&StrategyControl->buffer_strategy_lock);
/*
* If the buffer is pinned or has a nonzero usage_count, we cannot
* use it; discard it and retry. (This can only happen if VACUUM
* put a valid buffer in the freelist and then someone else used
* it before we got to it. It's probably impossible altogether as
* of 8.3, but we'd better check anyway.)
*/
local_buf_state = LockBufHdr(buf);
if (BUF_STATE_GET_REFCOUNT(local_buf_state) == 0
&& BUF_STATE_GET_USAGECOUNT(local_buf_state) == 0)
{
if (strategy != NULL)
AddBufferToRing(strategy, buf);
*buf_state = local_buf_state;
return buf;
}
UnlockBufHdr(buf, local_buf_state);
}
}
/* Nothing on the freelist, so run the "clock sweep" algorithm */
trycounter = NBuffers;
for (;;)
{
buf = GetBufferDescriptor(ClockSweepTick());
/*
* If the buffer is pinned or has a nonzero usage_count, we cannot use
* it; decrement the usage_count (unless pinned) and keep scanning.
*/
local_buf_state = LockBufHdr(buf);
if (BUF_STATE_GET_REFCOUNT(local_buf_state) == 0)
{
if (BUF_STATE_GET_USAGECOUNT(local_buf_state) != 0)
{
local_buf_state -= BUF_USAGECOUNT_ONE;
trycounter = NBuffers;
}
else
{
/* Found a usable buffer */
if (strategy != NULL)
AddBufferToRing(strategy, buf);
*buf_state = local_buf_state;
return buf;
}
}
else if (--trycounter == 0)
{
/*
* We've scanned all the buffers without making any state changes,
* so all the buffers are pinned (or were when we looked at them).
* We could hope that someone will free one eventually, but it's
* probably better to fail than to risk getting stuck in an
* infinite loop.
*/
UnlockBufHdr(buf, local_buf_state);
elog(ERROR, "no unpinned buffers available");
}
UnlockBufHdr(buf, local_buf_state);
}
}
/*
* StrategyFreeBuffer: put a buffer on the freelist
*/
void
StrategyFreeBuffer(BufferDesc *buf)
{
SpinLockAcquire(&StrategyControl->buffer_strategy_lock);
/*
* It is possible that we are told to put something in the freelist that
* is already in it; don't screw up the list if so.
*/
if (buf->freeNext == FREENEXT_NOT_IN_LIST)
{
buf->freeNext = StrategyControl->firstFreeBuffer;
if (buf->freeNext < 0)
StrategyControl->lastFreeBuffer = buf->buf_id;
StrategyControl->firstFreeBuffer = buf->buf_id;
}
SpinLockRelease(&StrategyControl->buffer_strategy_lock);
}
/*
* StrategySyncStart -- tell BgBufferSync where to start syncing
*
* The result is the buffer index of the best buffer to sync first.
* BgBufferSync() will proceed circularly around the buffer array from there.
*
* In addition, we return the completed-pass count (which is effectively
* the higher-order bits of nextVictimBuffer) and the count of recent buffer
* allocs if non-NULL pointers are passed. The alloc count is reset after
* being read.
*/
int
StrategySyncStart(uint32 *complete_passes, uint32 *num_buf_alloc)
{
uint32 nextVictimBuffer;
int result;
SpinLockAcquire(&StrategyControl->buffer_strategy_lock);
nextVictimBuffer = pg_atomic_read_u32(&StrategyControl->nextVictimBuffer);
result = nextVictimBuffer % NBuffers;
if (complete_passes)
{
*complete_passes = StrategyControl->completePasses;
/*
* Additionally add the number of wraparounds that happened before
* completePasses could be incremented. C.f. ClockSweepTick().
*/
*complete_passes += nextVictimBuffer / NBuffers;
}
if (num_buf_alloc)
{
*num_buf_alloc = pg_atomic_exchange_u32(&StrategyControl->numBufferAllocs, 0);
}
SpinLockRelease(&StrategyControl->buffer_strategy_lock);
return result;
}
/*
* StrategyNotifyBgWriter -- set or clear allocation notification latch
*
* If bgwprocno isn't -1, the next invocation of StrategyGetBuffer will
* set that latch. Pass -1 to clear the pending notification before it
* happens. This feature is used by the bgwriter process to wake itself up
* from hibernation, and is not meant for anybody else to use.
*/
void
StrategyNotifyBgWriter(int bgwprocno)
{
/*
* We acquire buffer_strategy_lock just to ensure that the store appears
* atomic to StrategyGetBuffer. The bgwriter should call this rather
* infrequently, so there's no performance penalty from being safe.
*/
SpinLockAcquire(&StrategyControl->buffer_strategy_lock);
StrategyControl->bgwprocno = bgwprocno;
SpinLockRelease(&StrategyControl->buffer_strategy_lock);
}
/*
* StrategyShmemSize
*
* estimate the size of shared memory used by the freelist-related structures.
*
* Note: for somewhat historical reasons, the buffer lookup hashtable size
* is also determined here.
*/
Size
StrategyShmemSize(void)
{
Size size = 0;
/* size of lookup hash table ... see comment in StrategyInitialize */
size = add_size(size, BufTableShmemSize(NBuffers + NUM_BUFFER_PARTITIONS));
/* size of the shared replacement strategy control block */
size = add_size(size, MAXALIGN(sizeof(BufferStrategyControl)));
return size;
}
/*
* StrategyInitialize -- initialize the buffer cache replacement
* strategy.
*
* Assumes: All of the buffers are already built into a linked list.
* Only called by postmaster and only during initialization.
*/
void
StrategyInitialize(bool init)
{
bool found;
/*
* Initialize the shared buffer lookup hashtable.
*
* Since we can't tolerate running out of lookup table entries, we must be
* sure to specify an adequate table size here. The maximum steady-state
* usage is of course NBuffers entries, but BufferAlloc() tries to insert
* a new entry before deleting the old. In principle this could be
* happening in each partition concurrently, so we could need as many as
* NBuffers + NUM_BUFFER_PARTITIONS entries.
*/
InitBufTable(NBuffers + NUM_BUFFER_PARTITIONS);
/*
* Get or create the shared strategy control block
*/
StrategyControl = (BufferStrategyControl *)
ShmemInitStruct("Buffer Strategy Status",
sizeof(BufferStrategyControl),
&found);
if (!found)
{
/*
* Only done once, usually in postmaster
*/
Assert(init);
SpinLockInit(&StrategyControl->buffer_strategy_lock);
/*
* Grab the whole linked list of free buffers for our strategy. We
* assume it was previously set up by InitBufferPool().
*/
StrategyControl->firstFreeBuffer = 0;
StrategyControl->lastFreeBuffer = NBuffers - 1;
/* Initialize the clock sweep pointer */
pg_atomic_init_u32(&StrategyControl->nextVictimBuffer, 0);
/* Clear statistics */
StrategyControl->completePasses = 0;
pg_atomic_init_u32(&StrategyControl->numBufferAllocs, 0);
/* No pending notification */
StrategyControl->bgwprocno = -1;
}
else
Assert(!init);
}
/* ----------------------------------------------------------------
* Backend-private buffer ring management
* ----------------------------------------------------------------
*/
/*
* GetAccessStrategy -- create a BufferAccessStrategy object
*
* The object is allocated in the current memory context.
*/
BufferAccessStrategy
GetAccessStrategy(BufferAccessStrategyType btype)
{
int ring_size_kb;
/*
* Select ring size to use. See buffer/README for rationales.
*
* Note: if you change the ring size for BAS_BULKREAD, see also
* SYNC_SCAN_REPORT_INTERVAL in access/heap/syncscan.c.
*/
switch (btype)
{
case BAS_NORMAL:
/* if someone asks for NORMAL, just give 'em a "default" object */
return NULL;
case BAS_BULKREAD:
ring_size_kb = 256;
break;
case BAS_BULKWRITE:
ring_size_kb = 16 * 1024;
break;
case BAS_VACUUM:
ring_size_kb = 2048;
break;
default:
elog(ERROR, "unrecognized buffer access strategy: %d",
(int) btype);
return NULL; /* keep compiler quiet */
}
return GetAccessStrategyWithSize(btype, ring_size_kb);
}
/*
* GetAccessStrategyWithSize -- create a BufferAccessStrategy object with a
* number of buffers equivalent to the passed in size.
*
* If the given ring size is 0, no BufferAccessStrategy will be created and
* the function will return NULL. ring_size_kb must not be negative.
*/
BufferAccessStrategy
GetAccessStrategyWithSize(BufferAccessStrategyType btype, int ring_size_kb)
{
int ring_buffers;
BufferAccessStrategy strategy;
Assert(ring_size_kb >= 0);
/* Figure out how many buffers ring_size_kb is */
ring_buffers = ring_size_kb / (BLCKSZ / 1024);
/* 0 means unlimited, so no BufferAccessStrategy required */
if (ring_buffers == 0)
return NULL;
/* Cap to 1/8th of shared_buffers */
ring_buffers = Min(NBuffers / 8, ring_buffers);
/* NBuffers should never be less than 16, so this shouldn't happen */
Assert(ring_buffers > 0);
/* Allocate the object and initialize all elements to zeroes */
strategy = (BufferAccessStrategy)
palloc0(offsetof(BufferAccessStrategyData, buffers) +
ring_buffers * sizeof(Buffer));
/* Set fields that don't start out zero */
strategy->btype = btype;
strategy->nbuffers = ring_buffers;
return strategy;
}
/*
* GetAccessStrategyBufferCount -- an accessor for the number of buffers in
* the ring
*
* Returns 0 on NULL input to match behavior of GetAccessStrategyWithSize()
* returning NULL with 0 size.
*/
int
GetAccessStrategyBufferCount(BufferAccessStrategy strategy)
{
if (strategy == NULL)
return 0;
return strategy->nbuffers;
}
/*
* GetAccessStrategyPinLimit -- get cap of number of buffers that should be pinned
*
* When pinning extra buffers to look ahead, users of a ring-based strategy are
* in danger of pinning too much of the ring at once while performing look-ahead.
* For some strategies, that means "escaping" from the ring, and in others it
* means forcing dirty data to disk very frequently with associated WAL
* flushing. Since external code has no insight into any of that, allow
* individual strategy types to expose a clamp that should be applied when
* deciding on a maximum number of buffers to pin at once.
*
* Callers should combine this number with other relevant limits and take the
* minimum.
*/
int
GetAccessStrategyPinLimit(BufferAccessStrategy strategy)
{
if (strategy == NULL)
return NBuffers;
switch (strategy->btype)
{
case BAS_BULKREAD:
/*
* Since BAS_BULKREAD uses StrategyRejectBuffer(), dirty buffers
* shouldn't be a problem and the caller is free to pin up to the
* entire ring at once.
*/
return strategy->nbuffers;
default:
/*
* Tell caller not to pin more than half the buffers in the ring.
* This is a trade-off between look ahead distance and deferring
* writeback and associated WAL traffic.
*/
return strategy->nbuffers / 2;
}
}
/*
* FreeAccessStrategy -- release a BufferAccessStrategy object
*
* A simple pfree would do at the moment, but we would prefer that callers
* don't assume that much about the representation of BufferAccessStrategy.
*/
void
FreeAccessStrategy(BufferAccessStrategy strategy)
{
/* don't crash if called on a "default" strategy */
if (strategy != NULL)
pfree(strategy);
}
/*
* GetBufferFromRing -- returns a buffer from the ring, or NULL if the
* ring is empty / not usable.
*
* The bufhdr spin lock is held on the returned buffer.
*/
static BufferDesc *
GetBufferFromRing(BufferAccessStrategy strategy, uint32 *buf_state)
{
BufferDesc *buf;
Buffer bufnum;
uint32 local_buf_state; /* to avoid repeated (de-)referencing */
/* Advance to next ring slot */
if (++strategy->current >= strategy->nbuffers)
strategy->current = 0;
/*
* If the slot hasn't been filled yet, tell the caller to allocate a new
* buffer with the normal allocation strategy. He will then fill this
* slot by calling AddBufferToRing with the new buffer.
*/
bufnum = strategy->buffers[strategy->current];
if (bufnum == InvalidBuffer)
return NULL;
/*
* If the buffer is pinned we cannot use it under any circumstances.
*
* If usage_count is 0 or 1 then the buffer is fair game (we expect 1,
* since our own previous usage of the ring element would have left it
* there, but it might've been decremented by clock sweep since then). A
* higher usage_count indicates someone else has touched the buffer, so we
* shouldn't re-use it.
*/
buf = GetBufferDescriptor(bufnum - 1);
local_buf_state = LockBufHdr(buf);
if (BUF_STATE_GET_REFCOUNT(local_buf_state) == 0
&& BUF_STATE_GET_USAGECOUNT(local_buf_state) <= 1)
{
*buf_state = local_buf_state;
return buf;
}
UnlockBufHdr(buf, local_buf_state);
/*
* Tell caller to allocate a new buffer with the normal allocation
* strategy. He'll then replace this ring element via AddBufferToRing.
*/
return NULL;
}
/*
* AddBufferToRing -- add a buffer to the buffer ring
*
* Caller must hold the buffer header spinlock on the buffer. Since this
* is called with the spinlock held, it had better be quite cheap.
*/
static void
AddBufferToRing(BufferAccessStrategy strategy, BufferDesc *buf)
{
strategy->buffers[strategy->current] = BufferDescriptorGetBuffer(buf);
}
/*
* Utility function returning the IOContext of a given BufferAccessStrategy's
* strategy ring.
*/
IOContext
IOContextForStrategy(BufferAccessStrategy strategy)
{
if (!strategy)
return IOCONTEXT_NORMAL;
switch (strategy->btype)
{
case BAS_NORMAL:
/*
* Currently, GetAccessStrategy() returns NULL for
* BufferAccessStrategyType BAS_NORMAL, so this case is
* unreachable.
*/
pg_unreachable();
return IOCONTEXT_NORMAL;
case BAS_BULKREAD:
return IOCONTEXT_BULKREAD;
case BAS_BULKWRITE:
return IOCONTEXT_BULKWRITE;
case BAS_VACUUM:
return IOCONTEXT_VACUUM;
}
elog(ERROR, "unrecognized BufferAccessStrategyType: %d", strategy->btype);
pg_unreachable();
}
/*
* StrategyRejectBuffer -- consider rejecting a dirty buffer
*
* When a nondefault strategy is used, the buffer manager calls this function
* when it turns out that the buffer selected by StrategyGetBuffer needs to
* be written out and doing so would require flushing WAL too. This gives us
* a chance to choose a different victim.
*
* Returns true if buffer manager should ask for a new victim, and false
* if this buffer should be written and re-used.
*/
bool
StrategyRejectBuffer(BufferAccessStrategy strategy, BufferDesc *buf, bool from_ring)
{
/* We only do this in bulkread mode */
if (strategy->btype != BAS_BULKREAD)
return false;
/* Don't muck with behavior of normal buffer-replacement strategy */
if (!from_ring ||
strategy->buffers[strategy->current] != BufferDescriptorGetBuffer(buf))
return false;
/*
* Remove the dirty buffer from the ring; necessary to prevent infinite
* loop if all ring members are dirty.
*/
strategy->buffers[strategy->current] = InvalidBuffer;
return true;
}

View File

@@ -0,0 +1,830 @@
/*-------------------------------------------------------------------------
*
* freelist.c
* routines for managing the buffer pool's replacement strategy.
*
*
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
*
* IDENTIFICATION
* src/backend/storage/buffer/freelist.c
*
*-------------------------------------------------------------------------
*/
#include "postgres.h"
#include "pgstat.h"
#include "port/atomics.h"
#include "storage/buf_internals.h"
#include "storage/bufmgr.h"
#include "storage/proc.h"
#define INT_ACCESS_ONCE(var) ((int)(*((volatile int *)&(var))))
/*
* The shared freelist control information.
*/
typedef struct
{
/* Spinlock: protects the values below */
slock_t buffer_strategy_lock;
/*
* Clock sweep hand: index of next buffer to consider grabbing. Note that
* this isn't a concrete buffer - we only ever increase the value. So, to
* get an actual buffer, it needs to be used modulo NBuffers.
*/
pg_atomic_uint32 nextVictimBuffer;
int firstFreeBuffer; /* Head of list of unused buffers */
int lastFreeBuffer; /* Tail of list of unused buffers */
/*
* NOTE: lastFreeBuffer is undefined when firstFreeBuffer is -1 (that is,
* when the list is empty)
*/
/*
* Statistics. These counters should be wide enough that they can't
* overflow during a single bgwriter cycle.
*/
uint32 completePasses; /* Complete cycles of the clock sweep */
pg_atomic_uint32 numBufferAllocs; /* Buffers allocated since last reset */
/*
* Bgworker process to be notified upon activity or -1 if none. See
* StrategyNotifyBgWriter.
*/
int bgwprocno;
} BufferStrategyControl;
/* Pointers to shared state */
static BufferStrategyControl *StrategyControl = NULL;
/*
* Private (non-shared) state for managing a ring of shared buffers to re-use.
* This is currently the only kind of BufferAccessStrategy object, but someday
* we might have more kinds.
*/
typedef struct BufferAccessStrategyData
{
/* Overall strategy type */
BufferAccessStrategyType btype;
/* Number of elements in buffers[] array */
int nbuffers;
/*
* Index of the "current" slot in the ring, ie, the one most recently
* returned by GetBufferFromRing.
*/
int current;
/*
* Array of buffer numbers. InvalidBuffer (that is, zero) indicates we
* have not yet selected a buffer for this ring slot. For allocation
* simplicity this is palloc'd together with the fixed fields of the
* struct.
*/
Buffer buffers[FLEXIBLE_ARRAY_MEMBER];
} BufferAccessStrategyData;
void StrategyAccessBuffer(int buf_id, int event_num); /* cs3223 */
/* Prototypes for internal functions */
static BufferDesc *GetBufferFromRing(BufferAccessStrategy strategy,
uint32 *buf_state);
static void AddBufferToRing(BufferAccessStrategy strategy,
BufferDesc *buf);
/*
* ClockSweepTick - Helper routine for StrategyGetBuffer()
*
* Move the clock hand one buffer ahead of its current position and return the
* id of the buffer now under the hand.
*/
static inline uint32
ClockSweepTick(void)
{
uint32 victim;
/*
* Atomically move hand ahead one buffer - if there's several processes
* doing this, this can lead to buffers being returned slightly out of
* apparent order.
*/
victim =
pg_atomic_fetch_add_u32(&StrategyControl->nextVictimBuffer, 1);
if (victim >= NBuffers)
{
uint32 originalVictim = victim;
/* always wrap what we look up in BufferDescriptors */
victim = victim % NBuffers;
/*
* If we're the one that just caused a wraparound, force
* completePasses to be incremented while holding the spinlock. We
* need the spinlock so StrategySyncStart() can return a consistent
* value consisting of nextVictimBuffer and completePasses.
*/
if (victim == 0)
{
uint32 expected;
uint32 wrapped;
bool success = false;
expected = originalVictim + 1;
while (!success)
{
/*
* Acquire the spinlock while increasing completePasses. That
* allows other readers to read nextVictimBuffer and
* completePasses in a consistent manner which is required for
* StrategySyncStart(). In theory delaying the increment
* could lead to an overflow of nextVictimBuffers, but that's
* highly unlikely and wouldn't be particularly harmful.
*/
SpinLockAcquire(&StrategyControl->buffer_strategy_lock);
wrapped = expected % NBuffers;
success = pg_atomic_compare_exchange_u32(&StrategyControl->nextVictimBuffer,
&expected, wrapped);
if (success)
StrategyControl->completePasses++;
SpinLockRelease(&StrategyControl->buffer_strategy_lock);
}
}
}
return victim;
}
/*
* have_free_buffer -- a lockless check to see if there is a free buffer in
* buffer pool.
*
* If the result is true that will become stale once free buffers are moved out
* by other operations, so the caller who strictly want to use a free buffer
* should not call this.
*/
bool
have_free_buffer(void)
{
if (StrategyControl->firstFreeBuffer >= 0)
return true;
else
return false;
}
/*
* StrategyGetBuffer
*
* Called by the bufmgr to get the next candidate buffer to use in
* BufferAlloc(). The only hard requirement BufferAlloc() has is that
* the selected buffer must not currently be pinned by anyone.
*
* strategy is a BufferAccessStrategy object, or NULL for default strategy.
*
* To ensure that no one else can pin the buffer before we do, we must
* return the buffer with the buffer header spinlock still held.
*/
BufferDesc *
StrategyGetBuffer(BufferAccessStrategy strategy, uint32 *buf_state, bool *from_ring)
{
BufferDesc *buf;
int bgwprocno;
int trycounter;
uint32 local_buf_state; /* to avoid repeated (de-)referencing */
*from_ring = false;
/*
* If given a strategy object, see whether it can select a buffer. We
* assume strategy objects don't need buffer_strategy_lock.
*/
if (strategy != NULL)
{
buf = GetBufferFromRing(strategy, buf_state);
if (buf != NULL)
{
*from_ring = true;
return buf;
}
}
/*
* If asked, we need to waken the bgwriter. Since we don't want to rely on
* a spinlock for this we force a read from shared memory once, and then
* set the latch based on that value. We need to go through that length
* because otherwise bgwprocno might be reset while/after we check because
* the compiler might just reread from memory.
*
* This can possibly set the latch of the wrong process if the bgwriter
* dies in the wrong moment. But since PGPROC->procLatch is never
* deallocated the worst consequence of that is that we set the latch of
* some arbitrary process.
*/
bgwprocno = INT_ACCESS_ONCE(StrategyControl->bgwprocno);
if (bgwprocno != -1)
{
/* reset bgwprocno first, before setting the latch */
StrategyControl->bgwprocno = -1;
/*
* Not acquiring ProcArrayLock here which is slightly icky. It's
* actually fine because procLatch isn't ever freed, so we just can
* potentially set the wrong process' (or no process') latch.
*/
SetLatch(&ProcGlobal->allProcs[bgwprocno].procLatch);
}
/*
* We count buffer allocation requests so that the bgwriter can estimate
* the rate of buffer consumption. Note that buffers recycled by a
* strategy object are intentionally not counted here.
*/
pg_atomic_fetch_add_u32(&StrategyControl->numBufferAllocs, 1);
/*
* First check, without acquiring the lock, whether there's buffers in the
* freelist. Since we otherwise don't require the spinlock in every
* StrategyGetBuffer() invocation, it'd be sad to acquire it here -
* uselessly in most cases. That obviously leaves a race where a buffer is
* put on the freelist but we don't see the store yet - but that's pretty
* harmless, it'll just get used during the next buffer acquisition.
*
* If there's buffers on the freelist, acquire the spinlock to pop one
* buffer of the freelist. Then check whether that buffer is usable and
* repeat if not.
*
* Note that the freeNext fields are considered to be protected by the
* buffer_strategy_lock not the individual buffer spinlocks, so it's OK to
* manipulate them without holding the spinlock.
*/
if (StrategyControl->firstFreeBuffer >= 0)
{
while (true)
{
/* Acquire the spinlock to remove element from the freelist */
SpinLockAcquire(&StrategyControl->buffer_strategy_lock);
if (StrategyControl->firstFreeBuffer < 0)
{
SpinLockRelease(&StrategyControl->buffer_strategy_lock);
break;
}
buf = GetBufferDescriptor(StrategyControl->firstFreeBuffer);
Assert(buf->freeNext != FREENEXT_NOT_IN_LIST);
/* Unconditionally remove buffer from freelist */
StrategyControl->firstFreeBuffer = buf->freeNext;
buf->freeNext = FREENEXT_NOT_IN_LIST;
/*
* Release the lock so someone else can access the freelist while
* we check out this buffer.
*/
SpinLockRelease(&StrategyControl->buffer_strategy_lock);
/*
* If the buffer is pinned or has a nonzero usage_count, we cannot
* use it; discard it and retry. (This can only happen if VACUUM
* put a valid buffer in the freelist and then someone else used
* it before we got to it. It's probably impossible altogether as
* of 8.3, but we'd better check anyway.)
*/
local_buf_state = LockBufHdr(buf);
if (BUF_STATE_GET_REFCOUNT(local_buf_state) == 0
&& BUF_STATE_GET_USAGECOUNT(local_buf_state) == 0)
{
if (strategy != NULL)
AddBufferToRing(strategy, buf);
*buf_state = local_buf_state;
return buf;
}
UnlockBufHdr(buf, local_buf_state);
}
}
/* Nothing on the freelist, so run the "clock sweep" algorithm */
trycounter = NBuffers;
for (;;)
{
buf = GetBufferDescriptor(ClockSweepTick());
/*
* If the buffer is pinned or has a nonzero usage_count, we cannot use
* it; decrement the usage_count (unless pinned) and keep scanning.
*/
local_buf_state = LockBufHdr(buf);
if (BUF_STATE_GET_REFCOUNT(local_buf_state) == 0)
{
if (BUF_STATE_GET_USAGECOUNT(local_buf_state) != 0)
{
local_buf_state -= BUF_USAGECOUNT_ONE;
trycounter = NBuffers;
}
else
{
/* Found a usable buffer */
if (strategy != NULL)
AddBufferToRing(strategy, buf);
*buf_state = local_buf_state;
return buf;
}
}
else if (--trycounter == 0)
{
/*
* We've scanned all the buffers without making any state changes,
* so all the buffers are pinned (or were when we looked at them).
* We could hope that someone will free one eventually, but it's
* probably better to fail than to risk getting stuck in an
* infinite loop.
*/
UnlockBufHdr(buf, local_buf_state);
elog(ERROR, "no unpinned buffers available");
}
UnlockBufHdr(buf, local_buf_state);
}
}
/*
* StrategyFreeBuffer: put a buffer on the freelist
*/
void
StrategyFreeBuffer(BufferDesc *buf)
{
SpinLockAcquire(&StrategyControl->buffer_strategy_lock);
/*
* It is possible that we are told to put something in the freelist that
* is already in it; don't screw up the list if so.
*/
if (buf->freeNext == FREENEXT_NOT_IN_LIST)
{
buf->freeNext = StrategyControl->firstFreeBuffer;
if (buf->freeNext < 0)
StrategyControl->lastFreeBuffer = buf->buf_id;
StrategyControl->firstFreeBuffer = buf->buf_id;
}
SpinLockRelease(&StrategyControl->buffer_strategy_lock);
}
/*
* StrategySyncStart -- tell BgBufferSync where to start syncing
*
* The result is the buffer index of the best buffer to sync first.
* BgBufferSync() will proceed circularly around the buffer array from there.
*
* In addition, we return the completed-pass count (which is effectively
* the higher-order bits of nextVictimBuffer) and the count of recent buffer
* allocs if non-NULL pointers are passed. The alloc count is reset after
* being read.
*/
int
StrategySyncStart(uint32 *complete_passes, uint32 *num_buf_alloc)
{
uint32 nextVictimBuffer;
int result;
SpinLockAcquire(&StrategyControl->buffer_strategy_lock);
nextVictimBuffer = pg_atomic_read_u32(&StrategyControl->nextVictimBuffer);
result = nextVictimBuffer % NBuffers;
if (complete_passes)
{
*complete_passes = StrategyControl->completePasses;
/*
* Additionally add the number of wraparounds that happened before
* completePasses could be incremented. C.f. ClockSweepTick().
*/
*complete_passes += nextVictimBuffer / NBuffers;
}
if (num_buf_alloc)
{
*num_buf_alloc = pg_atomic_exchange_u32(&StrategyControl->numBufferAllocs, 0);
}
SpinLockRelease(&StrategyControl->buffer_strategy_lock);
return result;
}
/*
* StrategyNotifyBgWriter -- set or clear allocation notification latch
*
* If bgwprocno isn't -1, the next invocation of StrategyGetBuffer will
* set that latch. Pass -1 to clear the pending notification before it
* happens. This feature is used by the bgwriter process to wake itself up
* from hibernation, and is not meant for anybody else to use.
*/
void
StrategyNotifyBgWriter(int bgwprocno)
{
/*
* We acquire buffer_strategy_lock just to ensure that the store appears
* atomic to StrategyGetBuffer. The bgwriter should call this rather
* infrequently, so there's no performance penalty from being safe.
*/
SpinLockAcquire(&StrategyControl->buffer_strategy_lock);
StrategyControl->bgwprocno = bgwprocno;
SpinLockRelease(&StrategyControl->buffer_strategy_lock);
}
/*
* StrategyShmemSize
*
* estimate the size of shared memory used by the freelist-related structures.
*
* Note: for somewhat historical reasons, the buffer lookup hashtable size
* is also determined here.
*/
Size
StrategyShmemSize(void)
{
Size size = 0;
/* size of lookup hash table ... see comment in StrategyInitialize */
size = add_size(size, BufTableShmemSize(NBuffers + NUM_BUFFER_PARTITIONS));
/* size of the shared replacement strategy control block */
size = add_size(size, MAXALIGN(sizeof(BufferStrategyControl)));
return size;
}
/*
* StrategyInitialize -- initialize the buffer cache replacement
* strategy.
*
* Assumes: All of the buffers are already built into a linked list.
* Only called by postmaster and only during initialization.
*/
void
StrategyInitialize(bool init)
{
bool found;
/*
* Initialize the shared buffer lookup hashtable.
*
* Since we can't tolerate running out of lookup table entries, we must be
* sure to specify an adequate table size here. The maximum steady-state
* usage is of course NBuffers entries, but BufferAlloc() tries to insert
* a new entry before deleting the old. In principle this could be
* happening in each partition concurrently, so we could need as many as
* NBuffers + NUM_BUFFER_PARTITIONS entries.
*/
InitBufTable(NBuffers + NUM_BUFFER_PARTITIONS);
/*
* Get or create the shared strategy control block
*/
StrategyControl = (BufferStrategyControl *)
ShmemInitStruct("Buffer Strategy Status",
sizeof(BufferStrategyControl),
&found);
if (!found)
{
/*
* Only done once, usually in postmaster
*/
Assert(init);
SpinLockInit(&StrategyControl->buffer_strategy_lock);
/*
* Grab the whole linked list of free buffers for our strategy. We
* assume it was previously set up by InitBufferPool().
*/
StrategyControl->firstFreeBuffer = 0;
StrategyControl->lastFreeBuffer = NBuffers - 1;
/* Initialize the clock sweep pointer */
pg_atomic_init_u32(&StrategyControl->nextVictimBuffer, 0);
/* Clear statistics */
StrategyControl->completePasses = 0;
pg_atomic_init_u32(&StrategyControl->numBufferAllocs, 0);
/* No pending notification */
StrategyControl->bgwprocno = -1;
}
else
Assert(!init);
}
/* ----------------------------------------------------------------
* Backend-private buffer ring management
* ----------------------------------------------------------------
*/
/*
* GetAccessStrategy -- create a BufferAccessStrategy object
*
* The object is allocated in the current memory context.
*/
BufferAccessStrategy
GetAccessStrategy(BufferAccessStrategyType btype)
{
int ring_size_kb;
/*
* Select ring size to use. See buffer/README for rationales.
*
* Note: if you change the ring size for BAS_BULKREAD, see also
* SYNC_SCAN_REPORT_INTERVAL in access/heap/syncscan.c.
*/
switch (btype)
{
case BAS_NORMAL:
/* if someone asks for NORMAL, just give 'em a "default" object */
return NULL;
case BAS_BULKREAD:
ring_size_kb = 256;
break;
case BAS_BULKWRITE:
ring_size_kb = 16 * 1024;
break;
case BAS_VACUUM:
ring_size_kb = 2048;
break;
default:
elog(ERROR, "unrecognized buffer access strategy: %d",
(int) btype);
return NULL; /* keep compiler quiet */
}
return GetAccessStrategyWithSize(btype, ring_size_kb);
}
/*
* GetAccessStrategyWithSize -- create a BufferAccessStrategy object with a
* number of buffers equivalent to the passed in size.
*
* If the given ring size is 0, no BufferAccessStrategy will be created and
* the function will return NULL. ring_size_kb must not be negative.
*/
BufferAccessStrategy
GetAccessStrategyWithSize(BufferAccessStrategyType btype, int ring_size_kb)
{
int ring_buffers;
BufferAccessStrategy strategy;
Assert(ring_size_kb >= 0);
/* Figure out how many buffers ring_size_kb is */
ring_buffers = ring_size_kb / (BLCKSZ / 1024);
/* 0 means unlimited, so no BufferAccessStrategy required */
if (ring_buffers == 0)
return NULL;
/* Cap to 1/8th of shared_buffers */
ring_buffers = Min(NBuffers / 8, ring_buffers);
/* NBuffers should never be less than 16, so this shouldn't happen */
Assert(ring_buffers > 0);
/* Allocate the object and initialize all elements to zeroes */
strategy = (BufferAccessStrategy)
palloc0(offsetof(BufferAccessStrategyData, buffers) +
ring_buffers * sizeof(Buffer));
/* Set fields that don't start out zero */
strategy->btype = btype;
strategy->nbuffers = ring_buffers;
return strategy;
}
/*
* GetAccessStrategyBufferCount -- an accessor for the number of buffers in
* the ring
*
* Returns 0 on NULL input to match behavior of GetAccessStrategyWithSize()
* returning NULL with 0 size.
*/
int
GetAccessStrategyBufferCount(BufferAccessStrategy strategy)
{
if (strategy == NULL)
return 0;
return strategy->nbuffers;
}
/*
* GetAccessStrategyPinLimit -- get cap of number of buffers that should be pinned
*
* When pinning extra buffers to look ahead, users of a ring-based strategy are
* in danger of pinning too much of the ring at once while performing look-ahead.
* For some strategies, that means "escaping" from the ring, and in others it
* means forcing dirty data to disk very frequently with associated WAL
* flushing. Since external code has no insight into any of that, allow
* individual strategy types to expose a clamp that should be applied when
* deciding on a maximum number of buffers to pin at once.
*
* Callers should combine this number with other relevant limits and take the
* minimum.
*/
int
GetAccessStrategyPinLimit(BufferAccessStrategy strategy)
{
if (strategy == NULL)
return NBuffers;
switch (strategy->btype)
{
case BAS_BULKREAD:
/*
* Since BAS_BULKREAD uses StrategyRejectBuffer(), dirty buffers
* shouldn't be a problem and the caller is free to pin up to the
* entire ring at once.
*/
return strategy->nbuffers;
default:
/*
* Tell caller not to pin more than half the buffers in the ring.
* This is a trade-off between look ahead distance and deferring
* writeback and associated WAL traffic.
*/
return strategy->nbuffers / 2;
}
}
/*
* FreeAccessStrategy -- release a BufferAccessStrategy object
*
* A simple pfree would do at the moment, but we would prefer that callers
* don't assume that much about the representation of BufferAccessStrategy.
*/
void
FreeAccessStrategy(BufferAccessStrategy strategy)
{
/* don't crash if called on a "default" strategy */
if (strategy != NULL)
pfree(strategy);
}
/*
* GetBufferFromRing -- returns a buffer from the ring, or NULL if the
* ring is empty / not usable.
*
* The bufhdr spin lock is held on the returned buffer.
*/
static BufferDesc *
GetBufferFromRing(BufferAccessStrategy strategy, uint32 *buf_state)
{
BufferDesc *buf;
Buffer bufnum;
uint32 local_buf_state; /* to avoid repeated (de-)referencing */
/* Advance to next ring slot */
if (++strategy->current >= strategy->nbuffers)
strategy->current = 0;
/*
* If the slot hasn't been filled yet, tell the caller to allocate a new
* buffer with the normal allocation strategy. He will then fill this
* slot by calling AddBufferToRing with the new buffer.
*/
bufnum = strategy->buffers[strategy->current];
if (bufnum == InvalidBuffer)
return NULL;
/*
* If the buffer is pinned we cannot use it under any circumstances.
*
* If usage_count is 0 or 1 then the buffer is fair game (we expect 1,
* since our own previous usage of the ring element would have left it
* there, but it might've been decremented by clock sweep since then). A
* higher usage_count indicates someone else has touched the buffer, so we
* shouldn't re-use it.
*/
buf = GetBufferDescriptor(bufnum - 1);
local_buf_state = LockBufHdr(buf);
if (BUF_STATE_GET_REFCOUNT(local_buf_state) == 0
&& BUF_STATE_GET_USAGECOUNT(local_buf_state) <= 1)
{
*buf_state = local_buf_state;
return buf;
}
UnlockBufHdr(buf, local_buf_state);
/*
* Tell caller to allocate a new buffer with the normal allocation
* strategy. He'll then replace this ring element via AddBufferToRing.
*/
return NULL;
}
/*
* AddBufferToRing -- add a buffer to the buffer ring
*
* Caller must hold the buffer header spinlock on the buffer. Since this
* is called with the spinlock held, it had better be quite cheap.
*/
static void
AddBufferToRing(BufferAccessStrategy strategy, BufferDesc *buf)
{
strategy->buffers[strategy->current] = BufferDescriptorGetBuffer(buf);
}
/*
* Utility function returning the IOContext of a given BufferAccessStrategy's
* strategy ring.
*/
IOContext
IOContextForStrategy(BufferAccessStrategy strategy)
{
if (!strategy)
return IOCONTEXT_NORMAL;
switch (strategy->btype)
{
case BAS_NORMAL:
/*
* Currently, GetAccessStrategy() returns NULL for
* BufferAccessStrategyType BAS_NORMAL, so this case is
* unreachable.
*/
pg_unreachable();
return IOCONTEXT_NORMAL;
case BAS_BULKREAD:
return IOCONTEXT_BULKREAD;
case BAS_BULKWRITE:
return IOCONTEXT_BULKWRITE;
case BAS_VACUUM:
return IOCONTEXT_VACUUM;
}
elog(ERROR, "unrecognized BufferAccessStrategyType: %d", strategy->btype);
pg_unreachable();
}
/*
* StrategyRejectBuffer -- consider rejecting a dirty buffer
*
* When a nondefault strategy is used, the buffer manager calls this function
* when it turns out that the buffer selected by StrategyGetBuffer needs to
* be written out and doing so would require flushing WAL too. This gives us
* a chance to choose a different victim.
*
* Returns true if buffer manager should ask for a new victim, and false
* if this buffer should be written and re-used.
*/
bool
StrategyRejectBuffer(BufferAccessStrategy strategy, BufferDesc *buf, bool from_ring)
{
/* We only do this in bulkread mode */
if (strategy->btype != BAS_BULKREAD)
return false;
/* Don't muck with behavior of normal buffer-replacement strategy */
if (!from_ring ||
strategy->buffers[strategy->current] != BufferDescriptorGetBuffer(buf))
return false;
/*
* Remove the dirty buffer from the ring; necessary to prevent infinite
* loop if all ring members are dirty.
*/
strategy->buffers[strategy->current] = InvalidBuffer;
return true;
}
/*
cs3223
StrategyAccessBuffer -- update YACLOCK's data structures when a buffer page is accessed.
Note that event_num must be 1, 2, 3, or 4 corresponding to the four events in YACLOCK replacement policy.
*/
void
StrategyAccessBuffer(int buf_id, int event_num)
{
elog(ERROR, "StrategyAccessBuffer: Not implemented!");
}

View File

@@ -0,0 +1,82 @@
#!/usr/bin/env bash
# CS3223 Assignment 1
# Script to install PostgreSQL 17.6 on MacOS
set -euo pipefail
source ./settings.sh
VERSION=17.6
ASSIGN_DIR=$HOME/cs3223_assign1
DOWNLOAD_DIR=$HOME
SRC_DIR=${DOWNLOAD_DIR}/postgresql-${VERSION}
FILE=postgresql-${VERSION}.tar.gz
mkdir -p ${DOWNLOAD_DIR}
mkdir -p ${INSTALL_DIR}
mkdir -p ${PGDATA}
# Download PostgreSQL source files
if [ ! -e ${DOWNLOAD_DIR}/${FILE} ]; then
cd ${DOWNLOAD_DIR}
wget https://ftp.postgresql.org/pub/source/v${VERSION}/${FILE}
tar xvfz ${FILE}
fi
# Install PostgreSQL
cd ${SRC_DIR}
export CFLAGS="-O0"
# To process the Postgres documentation, you need to install additional tools.
# The following 2 lines should work on both Mac Intel and ARM.
# For MacPorts alternatives,
# see: https://www.postgresql.org/docs/current/docguide-toolsets.html#DOCGUIDE-TOOLSETS-INST-MACOS
# Remember to install Homebrew if you haven't!
brew install docbook docbook-xsl libxslt fop
export XML_CATALOG_FILES=$(brew --prefix)/etc/xml/catalog
# You may need to find the path to the icu4c package and add it to PKG_CONFIG_PATH variable
# This package is needed to build Postgres 17.2.
# The following line should work on both Mac Intel and ARM.
# If you still get an error, you may need to change the path slightly,
# see: https://viggy28.dev/article/postgres-v16-icu-installation-issue/
export PKG_CONFIG_PATH=$(brew --prefix icu4c)/lib/pkgconfig/:${PKG_CONFIG_PATH:-""}
./configure --prefix=${INSTALL_DIR} --enable-debug --enable-cassert
make clean && make world && make install-world
# Install test_bufmgr extension
if [ ! -d ${ASSIGN_DIR} ]; then
echo "Error: Assignment directory ${ASSIGN_DIR} missing!"
exit 1
fi
if [ ! -d ${SRC_DIR}/contrib/test_bufmgr ]; then
cp -r ${ASSIGN_DIR}/test_bufmgr ${SRC_DIR}/contrib
cd ${SRC_DIR}/contrib/test_bufmgr
make && make install
fi
chmod u+x ${ASSIGN_DIR}/*.sh
# Create a new database cluster.
if [ -d ${PGDATA} ]; then
rm -Rf ${PGDATA}
fi
${INSTALL_DIR}/bin/initdb -D ${PGDATA}
# Update ~/.zshrc
PROFILE=~/.zshrc # Change to ~/.bash_profile if your default shell is bash
echo >> ${PROFILE}
echo "export PATH=${INSTALL_DIR}/bin:\$PATH" >> ${PROFILE}
echo "export MANPATH=${INSTALL_DIR}/share/man:\$MANPATH" >> ${PROFILE}
echo "export PGDATA=${PGDATA}" >> ${PROFILE}
echo "export PGUSER=$(whoami)" >> ${PROFILE}
echo >> ${PROFILE}
exec zsh # Restart the shell. Use "source ~/.bash_profile" for bash

View File

@@ -0,0 +1,57 @@
#!/usr/bin/env bash
# CS3223 Assignment 1
# Script to install PostgreSQL 17.6
set -euo pipefail
source ./settings.sh
VERSION=17.6
ASSIGN_DIR=$HOME/cs3223_assign1
DOWNLOAD_DIR=$HOME
SRC_DIR=${DOWNLOAD_DIR}/postgresql-${VERSION}
FILE=postgresql-${VERSION}.tar.gz
mkdir -p ${DOWNLOAD_DIR}
mkdir -p ${INSTALL_DIR}
mkdir -p ${PGDATA}
# Download PostgreSQL source files
if [ ! -e ${DOWNLOAD_DIR}/${FILE} ]; then
cd ${DOWNLOAD_DIR}
wget https://ftp.postgresql.org/pub/source/v${VERSION}/$FILE
tar xvfz ${FILE}
fi
if [ ! -d ${SRC_DIR} ]; then
cd ${DOWNLOAD_DIR}
tar xvfz ${FILE}
fi
# Install PostgreSQL
cd ${SRC_DIR}
export CFLAGS="-g"
./configure --prefix=${INSTALL_DIR} --enable-debug --enable-cassert
NUMBER_PARALLEL_TASKS=2
make clean && make world && make install-world -j ${NUMBER_PARALLEL_TASKS}
# Install test_bufmgr extension
if [ ! -d ${ASSIGN_DIR} ]; then
echo "Error: Assignment directory ${ASSIGN_DIR} missing!"
exit 1
fi
if [ ! -d ${SRC_DIR}/contrib/test_bufmgr ]; then
cp -r ${ASSIGN_DIR}/test_bufmgr ${SRC_DIR}/contrib
cd ${SRC_DIR}/contrib/test_bufmgr
make && make install
fi
chmod u+x ${ASSIGN_DIR}/*.sh
# Create a database cluster
if [ -d ${PGDATA} ]; then
rm -rf ${PGDATA}
fi
${INSTALL_DIR}/bin/initdb -D ${PGDATA}

File diff suppressed because it is too large Load Diff

84
cs3223/cs3223_assign1/part1.sh Executable file
View File

@@ -0,0 +1,84 @@
#!/usr/bin/env bash
# CS3223 Assignment 1 Part 1 - Benchmarking PostgreSQL 17.2 (with Clock replacement policy)
# IMPORTANT: You must edit the value of PGPORT variable in settings.sh before running this script
set -euo pipefail
source ./settings.sh
# file to store benchmarking results
RESULTFILE=${ASSIGN_DIR}/part1_result.txt
# create PGDATA directory if it's missing
if [ ! -e ${PGDATA} ]; then
if [ ! -d ${INSTALL_DIR}/bin ]; then
echo "ERROR: PostgreSQL installation missing!"
exit 1
fi
${INSTALL_DIR}/bin/initdb -D ${PGDATA}
fi
if pg_ctl status > /dev/null; then
pg_ctl stop
fi
pg_ctl start -l ${LOG_FILE} -o "-p ${PGPORT} -B 8192"
# check that server is running
if ! pg_ctl status > /dev/null; then
echo "ERROR: postgres server is not running!"
exit 1;
fi
# if database exists, drop database
if psql -l | grep -q "${DBNAME}"; then
echo "Dropping database ${DBNAME} ..."
dropdb "${DBNAME}"
fi
echo "Creating database ${DBNAME} ..."
createdb "${DBNAME}"
# check that number of shared buffer pages is configured to 64MB
if ! psql -c "SHOW shared_buffers;" ${DBNAME} | grep "64MB"; then
echo "ERROR: restart server using -B 8192!"
exit 1;
fi
# create benchmark database relations
NUM_CLIENTS=10
SCALE_FACTOR=4
DURATION=360 # 6 minutes
pgbench -i -s ${SCALE_FACTOR} --unlogged-tables ${DBNAME}
# show size of shared buffers
psql -c "show shared_buffers;" ${DBNAME} >| ${RESULTFILE}
# reset statistics counters
psql -c "SELECT pg_stat_reset();" ${DBNAME}
echo >> ${RESULTFILE}
date >> ${RESULTFILE}
echo >> ${RESULTFILE}
# run benchmark test
pgbench -c ${NUM_CLIENTS} -T ${DURATION} -j ${NUM_CLIENTS} -s ${SCALE_FACTOR} ${DBNAME} >> ${RESULTFILE}
echo >> ${RESULTFILE}
date >> ${RESULTFILE}
echo >> ${RESULTFILE}
# calculate buffer hit ratio
psql -c "SELECT SUM(heap_blks_read) AS heap_read, SUM(heap_blks_hit) AS heap_hit, SUM(heap_blks_hit) / (SUM(heap_blks_hit) + SUM(heap_blks_read)) AS hit_ratio FROM pg_statio_user_tables;" ${DBNAME} >> ${RESULTFILE}
cat ${RESULTFILE}

84
cs3223/cs3223_assign1/part3.sh Executable file
View File

@@ -0,0 +1,84 @@
#!/usr/bin/env bash
# CS3223 Assignment 1 Part 3 - Benchmarking PostgreSQL 17.2 (with YACLOCK replacement policy)
# IMPORTANT: You must edit the value of PGPORT variable in settings.sh before running this script
set -euo pipefail
source ./settings.sh
# file to store benchmarking results
RESULTFILE=${ASSIGN_DIR}/part3_result.txt
# create PGDATA directory if it's missing
if [ ! -e ${PGDATA} ]; then
if [ ! -d ${INSTALL_DIR}/bin ]; then
echo "ERROR: PostgreSQL installation missing!"
exit 1
fi
${INSTALL_DIR}/bin/initdb -D ${PGDATA}
fi
if pg_ctl status > /dev/null; then
pg_ctl stop
fi
pg_ctl start -l ${LOG_FILE} -o "-p ${PGPORT} -B 8192"
# check that server is running
if ! pg_ctl status > /dev/null; then
echo "ERROR: postgres server is not running!"
exit 1;
fi
# if database exists, drop database
if psql -l | grep -q "${DBNAME}"; then
echo "Dropping database ${DBNAME} ..."
dropdb "${DBNAME}"
fi
echo "Creating database ${DBNAME} ..."
createdb "${DBNAME}"
# check that number of shared buffer pages is configured to 64MB
if ! psql -c "SHOW shared_buffers;" ${DBNAME} | grep "64MB"; then
echo "ERROR: restart server using -B 8192!"
exit 1;
fi
# create benchmark database relations
NUM_CLIENTS=10
SCALE_FACTOR=4
DURATION=360 # 6 minutes
pgbench -i -s ${SCALE_FACTOR} --unlogged-tables ${DBNAME}
# show size of shared buffers
psql -c "show shared_buffers;" ${DBNAME} >| ${RESULTFILE}
# reset statistics counters
psql -c "SELECT pg_stat_reset();" ${DBNAME}
echo >> ${RESULTFILE}
date >> ${RESULTFILE}
echo >> ${RESULTFILE}
# run benchmark test
pgbench -c ${NUM_CLIENTS} -T ${DURATION} -j ${NUM_CLIENTS} -s ${SCALE_FACTOR} ${DBNAME} >> ${RESULTFILE}
echo >> ${RESULTFILE}
date >> ${RESULTFILE}
echo >> ${RESULTFILE}
# calculate buffer hit ratio
psql -c "SELECT SUM(heap_blks_read) AS heap_read, SUM(heap_blks_hit) AS heap_hit, SUM(heap_blks_hit) / (SUM(heap_blks_hit) + SUM(heap_blks_read)) AS hit_ratio FROM pg_statio_user_tables;" ${DBNAME} >> ${RESULTFILE}
cat ${RESULTFILE}

View File

@@ -0,0 +1,19 @@
#!/usr/bin/env bash
# CS3223 Assignment 1
# Script to restore PostgreSQL installation
set -euo pipefail
source ./settings.sh
pg_ctl stop
\rm -rf ${PGDATA}
mkdir -p ${PGDATA}
make clock
# Create a database cluster
${INSTALL_DIR}/bin/initdb -D ${PGDATA}

View File

@@ -0,0 +1,23 @@
#!/bin/bash
set -euo pipefail
export PGPORT=5001
export PGUSER=$(whoami)
export PGDATA=/tmp/${PGUSER}/pgdata-cs3223
ASSIGN_DIR=$HOME/cs3223_assign1
INSTALL_DIR=$HOME/pgsql-cs3223
LOG_FILE=${ASSIGN_DIR}/log.txt
DBNAME=assign1
BASH_PROFILE=$HOME/.bash_profile
touch ${BASH_PROFILE}
cat <<EOF >> ${BASH_PROFILE}
export PATH=${INSTALL_DIR}/bin:$PATH
export MANPATH=${INSTALL_DIR}/share/man:$MANPATH
export PGDATA=${PGDATA}
export PGUSER=${PGUSER}
export PGPORT=${PGPORT}
EOF
source ${BASH_PROFILE}

View File

@@ -0,0 +1,77 @@
#!/usr/bin/env bash
# Script for testing YACLOCK policy
# IMPORTANT: You must edit the value of PGPORT variable in settings.sh before running this script
set -euo pipefail
source ./settings.sh
policy=yaclock
# create PGDATA directory if it's missing
if [ ! -e ${PGDATA} ]; then
if [ ! -d ${INSTALL_DIR}/bin ]; then
echo "ERROR: PostgreSQL installation missing!"
exit 1
fi
${INSTALL_DIR}/bin/initdb -D ${PGDATA}
fi
if pg_ctl status > /dev/null; then
pg_ctl stop
fi
# start postgres with 16 buffer pages
pg_ctl start -l ${LOG_FILE} -o "-p ${PGPORT} -B 16"
# check that server is running
if ! pg_ctl status -D ${PGDATA} > /dev/null; then
echo "ERROR: postgres server is not running!"
exit 1;
fi
# if database exists, drop database
if psql -l | grep -q "${DBNAME}"; then
echo "Dropping database ${DBNAME} ..."
dropdb "${DBNAME}"
fi
echo "Creating database ${DBNAME} ..."
createdb "${DBNAME}"
# check that number of shared buffer pages is configured to 16 pages
if ! psql -c "SHOW shared_buffers;" ${DBNAME} | grep -q "128kB" ; then
echo "ERROR: restart server with 16 buffer pages!"
exit 1;
fi
# load data into movies relation
psql -f load-data.sql ${DBNAME}
# create test_bufmgr extension if necessary
psql -c "CREATE EXTENSION IF NOT EXISTS test_bufmgr;" ${DBNAME}
# run tests
TEST_DIR=${ASSIGN_DIR}/testresults-${policy}
if [ -d ${TEST_DIR} ]; then
\rm -f ${TEST_DIR}/*.txt
else
mkdir -p ${TEST_DIR}
fi
for testno in {0..9}
do
resultfile="${TEST_DIR}/result-$testno.txt"
echo "Running test case ${testno} -> ${resultfile} ..."
psql -c "SELECT test_bufmgr('movies', $testno);" ${DBNAME} 2> ${resultfile}
done

View File

@@ -0,0 +1,18 @@
# contrib/test_buffer/Makefile
MODULE_big = test_bufmgr
OBJS = test_bufmgr.o
EXTENSION = test_bufmgr
DATA = test_bufmgr--1.0.sql
ifdef USE_PGXS
PG_CONFIG = pg_config
PGXS := $(shell $(PG_CONFIG) --pgxs)
include $(PGXS)
else
subdir = contrib/test_bufmgr
top_builddir = ../..
include $(top_builddir)/src/Makefile.global
include $(top_srcdir)/contrib/contrib-global.mk
endif

View File

@@ -0,0 +1,12 @@
/* contrib/test_bufmgr/test_bufmgr--1.0.sql */
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
\echo Use "CREATE EXTENSION test_bufmgr" to load this file. \quit
--
-- test_bufmgr()
--
CREATE FUNCTION test_bufmgr(text, integer) RETURNS boolean
AS 'MODULE_PATHNAME', 'test_bufmgr'
LANGUAGE C STRICT;

View File

@@ -0,0 +1,238 @@
#include "postgres.h"
#include "catalog/catalog.h"
#include "catalog/namespace.h"
#include "catalog/pg_type.h"
#include "funcapi.h"
#include "miscadmin.h"
#include "storage/bufmgr.h"
#include "utils/builtins.h"
#include "utils/rel.h"
#include "storage/bufmgr.h"
#include "access/relation.h"
#include "utils/varlena.h"
PG_MODULE_MAGIC;
PG_FUNCTION_INFO_V1(test_bufmgr);
#define MAX_BLK_ENTRIES 200
#define MAX_BUFFER_ENTRIES 128
#define INVALID_BUFID -1
static Relation test_rel = NULL;
static int blkno2bufid[MAX_BLK_ENTRIES];
static void read_unpin_block (uint32 blkno);
static Buffer read_pin_block (uint32 blkno);
static void unpin_block (uint32 blkno);
static void InitTestBufferPool (Relation rel);
static Relation InitTest (text *relname);
static void
read_unpin_block (uint32 blkno)
{
Buffer buf;
int bufid;
if (blkno >= RelationGetNumberOfBlocksInFork(test_rel, MAIN_FORKNUM))
ereport(ERROR,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
errmsg("block number %u is out of range for relation \"%s\"",
blkno, RelationGetRelationName(test_rel))));
buf = ReadBuffer(test_rel, blkno);
ReleaseBuffer(buf);
bufid = buf - 1;
elog(NOTICE,"test_bufmgr read_unpin_block blkno %u bufid %d", blkno, bufid);
}
static Buffer
read_pin_block (uint32 blkno)
{
Buffer buf;
int bufid;
if (blkno >= RelationGetNumberOfBlocksInFork(test_rel, MAIN_FORKNUM))
ereport(ERROR,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
errmsg("block number %u is out of range for relation \"%s\"",
blkno, RelationGetRelationName(test_rel))));
Assert (blkno < MAX_BLK_ENTRIES);
buf = ReadBuffer(test_rel, blkno);
bufid = buf - 1;
blkno2bufid[blkno] = bufid;
elog(NOTICE,"test_bufmgr read_pin_block blkno %u bufid %d", blkno, bufid);
return buf;
}
static void
unpin_block (uint32 blkno)
{
int bufid;
Buffer buf;
Assert (blkno < MAX_BLK_ENTRIES);
bufid = blkno2bufid[blkno];
elog(NOTICE,"test_bufmgr unpin_block blkno %u bufid %d", blkno, bufid);
Assert (bufid != INVALID_BUFID);
buf = bufid + 1;
ReleaseBuffer(buf);
}
static void
InitTestBufferPool (Relation rel)
{
int i;
int bufid;
uint32 blkno;
Buffer buf;
/* read and pin NBuffers blocks starting from blkno NBuffers */
for (i = 0; i < NBuffers; i++)
{
blkno = NBuffers + i;
buf = ReadBuffer(rel, blkno);
}
/* read and pin NBuffers blocks starting from blkno 0 */
for (bufid = 0; bufid < NBuffers; bufid++)
{
buf = bufid + 1;
ReleaseBuffer(buf); /* unpin bufid for it to become the only victim buffer frame */
blkno = bufid;
buf = ReadBuffer(rel, blkno);
}
/* read and unpin NBuffers blocks starting from blkno 0 */
for (bufid = 0; bufid < NBuffers; bufid++)
{
blkno = bufid;
buf = ReadBuffer(rel, blkno);
ReleaseBuffer(buf);
}
/* unpin blocks 0 to NBuffers-1 */
for (bufid = 0; bufid < NBuffers; bufid++)
{
buf = bufid + 1;
ReleaseBuffer(buf);
}
}
static Relation
InitTest (text *relname)
{
RangeVar *relrv;
Relation rel;
int i;
if (!superuser())
ereport(ERROR,
(errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
(errmsg("must be superuser to use raw functions"))));
relrv = makeRangeVarFromNameList(textToQualifiedNameList(relname));
rel = relation_openrv(relrv, RowExclusiveLock);
/* Check that this relation has storage */
if (rel->rd_rel->relkind == RELKIND_VIEW)
ereport(ERROR,
(errcode(ERRCODE_WRONG_OBJECT_TYPE),
errmsg("cannot get raw page from view \"%s\"",
RelationGetRelationName(rel))));
if (rel->rd_rel->relkind == RELKIND_COMPOSITE_TYPE)
ereport(ERROR,
(errcode(ERRCODE_WRONG_OBJECT_TYPE),
errmsg("cannot get raw page from composite type \"%s\"",
RelationGetRelationName(rel))));
if (rel->rd_rel->relkind == RELKIND_FOREIGN_TABLE)
ereport(ERROR,
(errcode(ERRCODE_WRONG_OBJECT_TYPE),
errmsg("cannot get raw page from foreign table \"%s\"",
RelationGetRelationName(rel))));
/*
* Reject attempts to read non-local temporary relations; we would be
* likely to get wrong data since we have no visibility into the owning
* session's local buffers.
*/
if (RELATION_IS_OTHER_TEMP(rel))
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("cannot access temporary tables of other sessions")));
for (i=0; i <MAX_BLK_ENTRIES; i++)
blkno2bufid[i] = INVALID_BUFID;
InitTestBufferPool (rel);
return rel;
}
Datum
test_bufmgr (PG_FUNCTION_ARGS)
{
bool result = true;
int32 testnum = PG_GETARG_INT32(1); // testcase number
text *relname = PG_GETARG_TEXT_P(0); // relation name
test_rel = InitTest (relname);
elog(NOTICE,"test_bufmgr testcase %s %d", RelationGetRelationName(test_rel), testnum);
switch (testnum) {
case 0:
#include "testcases/testcase0.c"
break;
case 1:
#include "testcases/testcase1.c"
break;
case 2:
#include "testcases/testcase2.c"
break;
case 3:
#include "testcases/testcase3.c"
break;
case 4:
#include "testcases/testcase4.c"
break;
case 5:
#include "testcases/testcase5.c"
break;
case 6:
#include "testcases/testcase6.c"
break;
case 7:
#include "testcases/testcase7.c"
break;
case 8:
#include "testcases/testcase8.c"
break;
case 9:
#include "testcases/testcase9.c"
break;
default:
elog(ERROR,"test_bufmgr testcase %d not found", testnum);
result = false;
}
relation_close(test_rel, RowExclusiveLock);
PG_RETURN_BOOL(result);
}

View File

@@ -0,0 +1,5 @@
# test_bufmgr extension
comment = 'test buffer manager'
default_version = '1.0'
module_pathname = '$libdir/test_bufmgr'
relocatable = true

View File

@@ -0,0 +1,259 @@
read_pin_block(30);
read_pin_block(31);
read_pin_block(32);
read_pin_block(33);
read_pin_block(34);
read_pin_block(35);
read_pin_block(36);
read_pin_block(37);
read_pin_block(38);
read_pin_block(39);
read_pin_block(40);
read_pin_block(41);
read_pin_block(42);
read_unpin_block(17);
read_pin_block(3);
read_unpin_block(19);
read_unpin_block(19);
read_unpin_block(4);
read_unpin_block(12);
read_unpin_block(7);
read_unpin_block(14);
read_pin_block(5);
read_unpin_block(10);
read_unpin_block(4);
unpin_block(5);
read_pin_block(5);
read_unpin_block(15);
read_unpin_block(15);
read_unpin_block(2);
read_unpin_block(2);
unpin_block(3);
read_unpin_block(18);
read_pin_block(13);
read_unpin_block(15);
read_unpin_block(2);
read_unpin_block(1);
read_unpin_block(19);
read_unpin_block(15);
read_unpin_block(1);
read_unpin_block(20);
read_unpin_block(7);
unpin_block(13);
read_unpin_block(6);
read_unpin_block(12);
read_unpin_block(0);
read_unpin_block(5);
unpin_block(5);
read_pin_block(5);
read_pin_block(14);
unpin_block(14);
read_unpin_block(20);
read_unpin_block(15);
read_unpin_block(11);
read_unpin_block(1);
read_unpin_block(9);
read_unpin_block(20);
read_pin_block(14);
unpin_block(14);
read_unpin_block(14);
read_unpin_block(3);
read_pin_block(0);
read_unpin_block(11);
read_unpin_block(19);
unpin_block(5);
read_unpin_block(9);
read_unpin_block(4);
read_pin_block(10);
unpin_block(0);
read_unpin_block(16);
read_unpin_block(2);
read_unpin_block(8);
read_unpin_block(0);
read_pin_block(1);
read_unpin_block(2);
read_unpin_block(5);
read_unpin_block(16);
read_unpin_block(6);
read_unpin_block(11);
read_unpin_block(10);
unpin_block(1);
read_pin_block(4);
read_unpin_block(16);
read_unpin_block(8);
read_unpin_block(19);
read_unpin_block(16);
unpin_block(10);
read_unpin_block(2);
read_unpin_block(11);
read_pin_block(3);
read_unpin_block(1);
read_unpin_block(0);
read_unpin_block(11);
read_unpin_block(13);
read_unpin_block(6);
read_unpin_block(4);
read_unpin_block(11);
read_unpin_block(20);
read_unpin_block(18);
read_unpin_block(10);
read_unpin_block(12);
read_unpin_block(11);
unpin_block(3);
read_unpin_block(13);
read_pin_block(18);
read_unpin_block(18);
read_unpin_block(0);
read_unpin_block(10);
read_unpin_block(15);
read_unpin_block(1);
read_unpin_block(12);
read_unpin_block(20);
read_unpin_block(5);
unpin_block(18);
read_unpin_block(16);
read_pin_block(1);
read_unpin_block(10);
unpin_block(1);
read_unpin_block(19);
read_unpin_block(14);
read_unpin_block(18);
read_unpin_block(18);
read_pin_block(5);
read_unpin_block(14);
read_unpin_block(2);
read_unpin_block(9);
read_unpin_block(20);
unpin_block(4);
read_unpin_block(17);
read_unpin_block(2);
read_unpin_block(9);
read_unpin_block(7);
read_pin_block(5);
read_unpin_block(19);
read_unpin_block(10);
read_unpin_block(3);
unpin_block(5);
read_unpin_block(19);
read_unpin_block(20);
read_pin_block(2);
unpin_block(5);
read_unpin_block(20);
read_unpin_block(0);
unpin_block(2);
read_pin_block(11);
read_unpin_block(10);
read_pin_block(3);
read_unpin_block(9);
unpin_block(11);
read_pin_block(20);
read_unpin_block(17);
read_unpin_block(17);
read_unpin_block(19);
read_unpin_block(15);
read_unpin_block(0);
read_unpin_block(2);
read_unpin_block(19);
read_unpin_block(14);
read_unpin_block(14);
read_unpin_block(11);
read_unpin_block(1);
unpin_block(20);
read_unpin_block(8);
read_pin_block(12);
read_unpin_block(8);
read_unpin_block(16);
read_unpin_block(16);
unpin_block(3);
read_unpin_block(15);
read_unpin_block(19);
read_pin_block(5);
read_unpin_block(17);
read_unpin_block(18);
read_unpin_block(0);
read_unpin_block(12);
unpin_block(5);
read_pin_block(1);
read_unpin_block(7);
read_unpin_block(6);
read_unpin_block(0);
read_unpin_block(14);
read_unpin_block(16);
unpin_block(12);
read_pin_block(9);
read_unpin_block(4);
unpin_block(9);
read_unpin_block(16);
read_pin_block(19);
read_unpin_block(8);
read_unpin_block(6);
read_unpin_block(20);
read_unpin_block(16);
read_unpin_block(9);
unpin_block(19);
read_unpin_block(19);
read_pin_block(1);
unpin_block(1);
read_unpin_block(11);
unpin_block(1);
read_unpin_block(6);
read_unpin_block(9);
read_unpin_block(1);
read_unpin_block(15);
read_unpin_block(7);
read_unpin_block(2);
read_pin_block(17);
read_unpin_block(18);
read_unpin_block(9);
unpin_block(17);
read_unpin_block(9);
read_unpin_block(6);
read_unpin_block(17);
read_unpin_block(1);
read_unpin_block(19);
read_unpin_block(6);
read_unpin_block(11);
read_unpin_block(5);
read_unpin_block(9);
read_unpin_block(13);
read_unpin_block(12);
read_pin_block(6);
read_pin_block(12);
read_unpin_block(9);
read_unpin_block(8);
read_unpin_block(11);
read_unpin_block(7);
unpin_block(6);
read_unpin_block(6);
read_unpin_block(15);
unpin_block(12);
read_unpin_block(11);
read_pin_block(14);
read_pin_block(17);
read_unpin_block(12);
read_unpin_block(13);
read_unpin_block(12);
read_unpin_block(16);
read_unpin_block(12);
read_unpin_block(3);
read_unpin_block(20);
read_unpin_block(15);
read_unpin_block(1);
read_unpin_block(15);
unpin_block(30);
unpin_block(31);
unpin_block(32);
unpin_block(33);
unpin_block(34);
unpin_block(35);
unpin_block(36);
unpin_block(37);
unpin_block(38);
unpin_block(39);
unpin_block(40);
unpin_block(41);
unpin_block(42);
unpin_block(17);
unpin_block(14);
read_pin_block(12);
unpin_block(12);

View File

@@ -0,0 +1,260 @@
read_pin_block(30);
read_pin_block(31);
read_pin_block(32);
read_pin_block(33);
read_pin_block(34);
read_pin_block(35);
read_pin_block(36);
read_pin_block(37);
read_pin_block(38);
read_pin_block(39);
read_pin_block(40);
read_pin_block(41);
read_pin_block(42);
read_unpin_block(6);
read_unpin_block(1);
read_pin_block(3);
read_unpin_block(6);
read_unpin_block(13);
read_unpin_block(16);
read_unpin_block(15);
read_unpin_block(12);
read_unpin_block(10);
read_pin_block(5);
read_unpin_block(11);
read_unpin_block(5);
read_unpin_block(6);
read_unpin_block(7);
read_unpin_block(16);
read_unpin_block(16);
read_unpin_block(20);
read_unpin_block(14);
read_unpin_block(10);
read_unpin_block(8);
read_unpin_block(13);
unpin_block(3);
read_unpin_block(2);
read_pin_block(19);
read_unpin_block(6);
read_unpin_block(0);
read_unpin_block(18);
read_unpin_block(9);
unpin_block(19);
read_pin_block(2);
read_unpin_block(18);
read_unpin_block(12);
unpin_block(5);
read_unpin_block(3);
read_unpin_block(1);
read_pin_block(11);
read_unpin_block(10);
read_unpin_block(4);
read_unpin_block(17);
read_unpin_block(1);
read_unpin_block(5);
read_unpin_block(5);
read_unpin_block(6);
read_unpin_block(1);
read_unpin_block(8);
read_unpin_block(4);
read_unpin_block(11);
read_unpin_block(20);
read_unpin_block(16);
read_unpin_block(14);
read_unpin_block(13);
read_unpin_block(5);
unpin_block(11);
read_unpin_block(8);
read_unpin_block(4);
read_unpin_block(12);
read_unpin_block(7);
read_pin_block(13);
read_unpin_block(8);
read_unpin_block(3);
read_unpin_block(18);
read_unpin_block(1);
read_unpin_block(19);
read_unpin_block(5);
read_unpin_block(14);
read_unpin_block(17);
read_unpin_block(15);
read_unpin_block(6);
unpin_block(13);
read_unpin_block(17);
unpin_block(2);
read_unpin_block(14);
read_unpin_block(15);
read_unpin_block(6);
read_pin_block(13);
read_unpin_block(2);
read_pin_block(19);
read_unpin_block(11);
unpin_block(13);
read_unpin_block(14);
unpin_block(19);
read_unpin_block(17);
read_unpin_block(5);
read_pin_block(6);
read_unpin_block(8);
read_unpin_block(8);
read_pin_block(1);
read_unpin_block(17);
read_unpin_block(4);
unpin_block(6);
read_unpin_block(4);
read_unpin_block(18);
unpin_block(1);
read_pin_block(9);
read_pin_block(3);
unpin_block(9);
read_unpin_block(17);
read_unpin_block(2);
read_pin_block(11);
read_unpin_block(5);
unpin_block(3);
read_pin_block(1);
read_unpin_block(0);
unpin_block(1);
read_unpin_block(13);
read_pin_block(16);
read_unpin_block(11);
unpin_block(11);
read_unpin_block(16);
read_unpin_block(9);
read_pin_block(7);
read_unpin_block(13);
read_unpin_block(20);
read_unpin_block(7);
unpin_block(16);
read_unpin_block(8);
unpin_block(7);
read_unpin_block(11);
read_pin_block(15);
read_unpin_block(4);
read_unpin_block(1);
read_unpin_block(4);
read_unpin_block(10);
read_unpin_block(20);
read_unpin_block(9);
unpin_block(15);
read_unpin_block(1);
read_pin_block(1);
read_pin_block(3);
read_unpin_block(12);
read_unpin_block(16);
read_unpin_block(6);
read_unpin_block(10);
unpin_block(3);
read_unpin_block(5);
read_pin_block(18);
unpin_block(18);
read_unpin_block(12);
read_pin_block(16);
read_unpin_block(14);
read_unpin_block(8);
read_unpin_block(4);
read_unpin_block(20);
read_unpin_block(7);
unpin_block(16);
read_unpin_block(18);
read_unpin_block(11);
read_unpin_block(7);
read_unpin_block(19);
read_pin_block(3);
read_unpin_block(3);
read_unpin_block(17);
read_unpin_block(20);
read_unpin_block(9);
unpin_block(1);
read_unpin_block(0);
read_unpin_block(19);
unpin_block(3);
read_unpin_block(17);
read_pin_block(14);
read_unpin_block(5);
read_unpin_block(10);
read_unpin_block(5);
read_pin_block(5);
unpin_block(5);
read_unpin_block(4);
read_pin_block(10);
unpin_block(14);
read_unpin_block(9);
read_pin_block(2);
read_unpin_block(5);
read_unpin_block(14);
read_unpin_block(9);
read_unpin_block(12);
read_unpin_block(2);
unpin_block(2);
read_pin_block(13);
read_unpin_block(3);
read_unpin_block(8);
unpin_block(10);
unpin_block(13);
read_pin_block(17);
read_pin_block(11);
unpin_block(11);
read_pin_block(1);
read_unpin_block(10);
unpin_block(17);
read_unpin_block(10);
read_unpin_block(10);
read_pin_block(18);
read_unpin_block(15);
read_unpin_block(10);
read_unpin_block(15);
read_unpin_block(20);
read_unpin_block(13);
read_unpin_block(2);
read_unpin_block(7);
read_unpin_block(19);
read_unpin_block(0);
read_unpin_block(3);
read_unpin_block(6);
read_unpin_block(3);
read_unpin_block(2);
read_unpin_block(3);
read_unpin_block(14);
read_unpin_block(9);
read_unpin_block(14);
read_unpin_block(9);
read_unpin_block(12);
read_unpin_block(8);
read_unpin_block(20);
read_unpin_block(16);
read_unpin_block(1);
read_unpin_block(19);
read_unpin_block(12);
read_unpin_block(10);
unpin_block(1);
read_unpin_block(13);
unpin_block(18);
read_unpin_block(12);
read_pin_block(15);
read_pin_block(0);
read_unpin_block(16);
read_unpin_block(10);
read_unpin_block(18);
read_unpin_block(20);
read_unpin_block(12);
read_unpin_block(8);
read_unpin_block(16);
unpin_block(15);
read_pin_block(20);
read_unpin_block(9);
unpin_block(30);
unpin_block(31);
unpin_block(32);
unpin_block(33);
unpin_block(34);
unpin_block(35);
unpin_block(36);
unpin_block(37);
unpin_block(38);
unpin_block(39);
unpin_block(40);
unpin_block(41);
unpin_block(42);
unpin_block(20);
unpin_block(0);

View File

@@ -0,0 +1,224 @@
read_pin_block(30);
read_pin_block(31);
read_pin_block(32);
read_pin_block(33);
read_pin_block(34);
read_pin_block(35);
read_pin_block(36);
read_pin_block(37);
read_pin_block(38);
read_pin_block(39);
read_pin_block(40);
read_pin_block(41);
read_unpin_block(17);
read_unpin_block(14);
read_unpin_block(12);
read_unpin_block(2);
read_unpin_block(20);
read_unpin_block(10);
read_unpin_block(6);
read_unpin_block(17);
read_unpin_block(19);
read_unpin_block(6);
read_unpin_block(16);
read_unpin_block(0);
read_unpin_block(15);
read_unpin_block(20);
read_unpin_block(2);
read_unpin_block(3);
read_unpin_block(3);
read_unpin_block(20);
read_unpin_block(10);
read_unpin_block(11);
read_unpin_block(9);
read_unpin_block(5);
read_unpin_block(15);
read_unpin_block(15);
read_unpin_block(1);
read_unpin_block(1);
read_unpin_block(2);
read_unpin_block(16);
read_unpin_block(13);
read_unpin_block(14);
read_unpin_block(9);
read_unpin_block(18);
read_unpin_block(13);
read_unpin_block(16);
read_unpin_block(6);
read_unpin_block(19);
read_unpin_block(3);
read_unpin_block(19);
read_unpin_block(5);
read_unpin_block(11);
read_unpin_block(16);
read_unpin_block(6);
read_unpin_block(14);
read_unpin_block(15);
read_unpin_block(11);
read_unpin_block(2);
read_unpin_block(11);
read_unpin_block(17);
read_unpin_block(14);
read_unpin_block(13);
read_unpin_block(3);
read_unpin_block(3);
read_unpin_block(13);
read_unpin_block(9);
read_unpin_block(15);
read_unpin_block(4);
read_unpin_block(20);
read_unpin_block(20);
read_unpin_block(20);
read_unpin_block(15);
read_unpin_block(1);
read_unpin_block(16);
read_unpin_block(12);
read_unpin_block(4);
read_unpin_block(16);
read_unpin_block(2);
read_unpin_block(16);
read_unpin_block(5);
read_unpin_block(0);
read_unpin_block(17);
read_unpin_block(1);
read_unpin_block(2);
read_unpin_block(3);
read_unpin_block(5);
read_unpin_block(10);
read_unpin_block(18);
read_unpin_block(3);
read_unpin_block(9);
read_unpin_block(3);
read_unpin_block(6);
read_unpin_block(15);
read_unpin_block(17);
read_unpin_block(4);
read_unpin_block(1);
read_unpin_block(2);
read_unpin_block(6);
read_unpin_block(16);
read_unpin_block(3);
read_unpin_block(1);
read_unpin_block(10);
read_unpin_block(9);
read_unpin_block(12);
read_unpin_block(0);
read_unpin_block(9);
read_unpin_block(20);
read_unpin_block(15);
read_unpin_block(17);
read_unpin_block(11);
read_unpin_block(3);
read_unpin_block(17);
read_unpin_block(2);
read_unpin_block(7);
read_unpin_block(20);
read_unpin_block(4);
read_unpin_block(9);
read_unpin_block(16);
read_unpin_block(8);
read_unpin_block(6);
read_unpin_block(1);
read_unpin_block(14);
read_unpin_block(9);
read_unpin_block(4);
read_unpin_block(12);
read_unpin_block(13);
read_unpin_block(0);
read_unpin_block(18);
read_unpin_block(3);
read_unpin_block(10);
read_unpin_block(19);
read_unpin_block(10);
read_unpin_block(19);
read_unpin_block(11);
read_unpin_block(16);
read_unpin_block(6);
read_unpin_block(6);
read_unpin_block(0);
read_unpin_block(6);
read_unpin_block(14);
read_unpin_block(17);
read_unpin_block(19);
read_unpin_block(3);
read_unpin_block(2);
read_unpin_block(13);
read_unpin_block(14);
read_unpin_block(12);
read_unpin_block(8);
read_unpin_block(11);
read_unpin_block(8);
read_unpin_block(10);
read_unpin_block(15);
read_unpin_block(13);
read_unpin_block(4);
read_unpin_block(6);
read_unpin_block(15);
read_unpin_block(1);
read_unpin_block(8);
read_unpin_block(5);
read_unpin_block(13);
read_unpin_block(13);
read_unpin_block(1);
read_unpin_block(1);
read_unpin_block(11);
read_unpin_block(7);
read_unpin_block(11);
read_unpin_block(10);
read_unpin_block(13);
read_unpin_block(17);
read_unpin_block(3);
read_unpin_block(3);
read_unpin_block(17);
read_unpin_block(17);
read_unpin_block(15);
read_unpin_block(4);
read_unpin_block(20);
read_unpin_block(2);
read_unpin_block(6);
read_unpin_block(11);
read_unpin_block(6);
read_unpin_block(16);
read_unpin_block(14);
read_unpin_block(13);
read_unpin_block(8);
read_unpin_block(20);
read_unpin_block(19);
read_unpin_block(4);
read_unpin_block(14);
read_unpin_block(7);
read_unpin_block(8);
read_unpin_block(10);
read_unpin_block(15);
read_unpin_block(4);
read_unpin_block(12);
read_unpin_block(3);
read_unpin_block(17);
read_unpin_block(16);
read_unpin_block(6);
read_unpin_block(2);
read_unpin_block(12);
read_unpin_block(9);
read_unpin_block(14);
read_unpin_block(20);
read_unpin_block(20);
read_unpin_block(16);
read_unpin_block(11);
read_unpin_block(13);
read_unpin_block(17);
read_unpin_block(7);
read_unpin_block(13);
read_unpin_block(15);
read_unpin_block(3);
unpin_block(30);
unpin_block(31);
unpin_block(32);
unpin_block(33);
unpin_block(34);
unpin_block(35);
unpin_block(36);
unpin_block(37);
unpin_block(38);
unpin_block(39);
unpin_block(40);
unpin_block(41);

View File

@@ -0,0 +1,224 @@
read_pin_block(30);
read_pin_block(31);
read_pin_block(32);
read_pin_block(33);
read_pin_block(34);
read_pin_block(35);
read_pin_block(36);
read_pin_block(37);
read_pin_block(38);
read_pin_block(39);
read_pin_block(40);
read_pin_block(41);
read_unpin_block(7);
read_unpin_block(15);
read_unpin_block(16);
read_unpin_block(5);
read_unpin_block(6);
read_unpin_block(17);
read_unpin_block(10);
read_unpin_block(7);
read_unpin_block(9);
read_unpin_block(6);
read_unpin_block(14);
read_unpin_block(20);
read_unpin_block(9);
read_unpin_block(0);
read_unpin_block(18);
read_unpin_block(5);
read_unpin_block(10);
read_unpin_block(8);
read_unpin_block(13);
read_unpin_block(5);
read_unpin_block(5);
read_unpin_block(1);
read_unpin_block(3);
read_unpin_block(10);
read_unpin_block(8);
read_unpin_block(17);
read_unpin_block(18);
read_unpin_block(1);
read_unpin_block(6);
read_unpin_block(9);
read_unpin_block(20);
read_unpin_block(3);
read_unpin_block(8);
read_unpin_block(0);
read_unpin_block(10);
read_unpin_block(13);
read_unpin_block(17);
read_unpin_block(1);
read_unpin_block(7);
read_unpin_block(19);
read_unpin_block(2);
read_unpin_block(17);
read_unpin_block(3);
read_unpin_block(19);
read_unpin_block(1);
read_unpin_block(16);
read_unpin_block(0);
read_unpin_block(9);
read_unpin_block(15);
read_unpin_block(2);
read_unpin_block(6);
read_unpin_block(3);
read_unpin_block(20);
read_unpin_block(20);
read_unpin_block(5);
read_unpin_block(4);
read_unpin_block(4);
read_unpin_block(14);
read_unpin_block(20);
read_unpin_block(14);
read_unpin_block(4);
read_unpin_block(7);
read_unpin_block(2);
read_unpin_block(18);
read_unpin_block(3);
read_unpin_block(17);
read_unpin_block(11);
read_unpin_block(3);
read_unpin_block(19);
read_unpin_block(7);
read_unpin_block(7);
read_unpin_block(14);
read_unpin_block(11);
read_unpin_block(7);
read_unpin_block(9);
read_unpin_block(14);
read_unpin_block(18);
read_unpin_block(19);
read_unpin_block(6);
read_unpin_block(0);
read_unpin_block(6);
read_unpin_block(20);
read_unpin_block(17);
read_unpin_block(7);
read_unpin_block(2);
read_unpin_block(8);
read_unpin_block(15);
read_unpin_block(9);
read_unpin_block(6);
read_unpin_block(15);
read_unpin_block(9);
read_unpin_block(11);
read_unpin_block(0);
read_unpin_block(5);
read_unpin_block(10);
read_unpin_block(13);
read_unpin_block(2);
read_unpin_block(8);
read_unpin_block(14);
read_unpin_block(5);
read_unpin_block(1);
read_unpin_block(2);
read_unpin_block(14);
read_unpin_block(2);
read_unpin_block(8);
read_unpin_block(19);
read_unpin_block(6);
read_unpin_block(8);
read_unpin_block(11);
read_unpin_block(6);
read_unpin_block(2);
read_unpin_block(15);
read_unpin_block(3);
read_unpin_block(19);
read_unpin_block(18);
read_unpin_block(2);
read_unpin_block(17);
read_unpin_block(15);
read_unpin_block(13);
read_unpin_block(14);
read_unpin_block(11);
read_unpin_block(20);
read_unpin_block(3);
read_unpin_block(20);
read_unpin_block(14);
read_unpin_block(8);
read_unpin_block(4);
read_unpin_block(18);
read_unpin_block(4);
read_unpin_block(4);
read_unpin_block(0);
read_unpin_block(11);
read_unpin_block(17);
read_unpin_block(15);
read_unpin_block(17);
read_unpin_block(0);
read_unpin_block(12);
read_unpin_block(6);
read_unpin_block(9);
read_unpin_block(11);
read_unpin_block(14);
read_unpin_block(14);
read_unpin_block(0);
read_unpin_block(0);
read_unpin_block(10);
read_unpin_block(5);
read_unpin_block(4);
read_unpin_block(20);
read_unpin_block(5);
read_unpin_block(13);
read_unpin_block(15);
read_unpin_block(0);
read_unpin_block(7);
read_unpin_block(18);
read_unpin_block(20);
read_unpin_block(2);
read_unpin_block(12);
read_unpin_block(3);
read_unpin_block(1);
read_unpin_block(15);
read_unpin_block(11);
read_unpin_block(5);
read_unpin_block(11);
read_unpin_block(10);
read_unpin_block(14);
read_unpin_block(13);
read_unpin_block(13);
read_unpin_block(10);
read_unpin_block(20);
read_unpin_block(19);
read_unpin_block(4);
read_unpin_block(11);
read_unpin_block(6);
read_unpin_block(7);
read_unpin_block(2);
read_unpin_block(12);
read_unpin_block(14);
read_unpin_block(12);
read_unpin_block(18);
read_unpin_block(17);
read_unpin_block(4);
read_unpin_block(8);
read_unpin_block(4);
read_unpin_block(1);
read_unpin_block(9);
read_unpin_block(2);
read_unpin_block(18);
read_unpin_block(8);
read_unpin_block(13);
read_unpin_block(5);
read_unpin_block(13);
read_unpin_block(15);
read_unpin_block(9);
read_unpin_block(7);
read_unpin_block(14);
read_unpin_block(8);
read_unpin_block(3);
read_unpin_block(9);
read_unpin_block(12);
read_unpin_block(11);
unpin_block(30);
unpin_block(31);
unpin_block(32);
unpin_block(33);
unpin_block(34);
unpin_block(35);
unpin_block(36);
unpin_block(37);
unpin_block(38);
unpin_block(39);
unpin_block(40);
unpin_block(41);

View File

@@ -0,0 +1,233 @@
read_pin_block(30);
read_pin_block(31);
read_pin_block(32);
read_pin_block(33);
read_pin_block(34);
read_pin_block(35);
read_pin_block(36);
read_unpin_block(12);
read_unpin_block(11);
read_unpin_block(8);
read_unpin_block(19);
read_unpin_block(11);
read_unpin_block(18);
read_unpin_block(14);
read_unpin_block(8);
read_unpin_block(6);
read_unpin_block(18);
read_unpin_block(6);
read_unpin_block(0);
read_unpin_block(9);
read_unpin_block(17);
read_unpin_block(0);
read_unpin_block(19);
read_unpin_block(14);
read_unpin_block(10);
read_unpin_block(3);
read_unpin_block(18);
read_unpin_block(5);
read_unpin_block(19);
read_unpin_block(0);
read_unpin_block(12);
read_unpin_block(11);
read_unpin_block(13);
read_pin_block(5);
read_unpin_block(8);
read_unpin_block(4);
read_unpin_block(5);
read_unpin_block(18);
read_unpin_block(16);
read_unpin_block(12);
unpin_block(5);
read_pin_block(5);
read_unpin_block(2);
read_unpin_block(9);
read_unpin_block(7);
unpin_block(5);
read_pin_block(12);
read_unpin_block(3);
read_unpin_block(18);
read_unpin_block(2);
unpin_block(12);
read_unpin_block(15);
read_pin_block(5);
read_unpin_block(10);
read_pin_block(15);
read_unpin_block(20);
read_pin_block(0);
read_unpin_block(19);
unpin_block(5);
read_unpin_block(7);
read_unpin_block(1);
read_unpin_block(16);
read_unpin_block(0);
unpin_block(0);
read_unpin_block(10);
read_pin_block(18);
unpin_block(18);
read_unpin_block(3);
read_unpin_block(8);
read_unpin_block(7);
read_unpin_block(16);
read_unpin_block(17);
read_pin_block(5);
read_unpin_block(13);
unpin_block(5);
read_unpin_block(13);
read_unpin_block(3);
read_unpin_block(13);
read_unpin_block(6);
read_unpin_block(6);
read_unpin_block(13);
read_unpin_block(15);
read_unpin_block(9);
read_unpin_block(12);
read_unpin_block(7);
unpin_block(15);
read_unpin_block(16);
read_unpin_block(16);
read_unpin_block(2);
read_unpin_block(15);
read_unpin_block(3);
read_unpin_block(7);
read_unpin_block(5);
read_unpin_block(7);
read_unpin_block(13);
read_unpin_block(11);
read_pin_block(8);
read_unpin_block(7);
read_unpin_block(15);
read_unpin_block(13);
unpin_block(8);
read_unpin_block(14);
read_unpin_block(8);
read_unpin_block(4);
read_unpin_block(8);
read_unpin_block(18);
read_unpin_block(19);
read_unpin_block(12);
read_pin_block(9);
read_unpin_block(17);
read_unpin_block(10);
read_unpin_block(12);
read_unpin_block(2);
read_unpin_block(17);
unpin_block(9);
read_unpin_block(15);
read_pin_block(3);
read_unpin_block(15);
unpin_block(3);
read_unpin_block(10);
read_unpin_block(13);
read_unpin_block(6);
read_unpin_block(1);
read_unpin_block(15);
read_unpin_block(13);
read_unpin_block(12);
read_unpin_block(11);
read_unpin_block(3);
read_unpin_block(16);
read_unpin_block(0);
read_unpin_block(5);
read_unpin_block(10);
read_pin_block(18);
read_unpin_block(9);
unpin_block(18);
read_unpin_block(6);
read_unpin_block(5);
read_unpin_block(12);
read_unpin_block(16);
read_unpin_block(17);
read_unpin_block(2);
read_unpin_block(16);
read_unpin_block(1);
read_pin_block(15);
read_unpin_block(7);
read_unpin_block(9);
read_unpin_block(7);
read_unpin_block(13);
read_unpin_block(8);
read_unpin_block(12);
read_unpin_block(13);
unpin_block(15);
read_unpin_block(1);
read_unpin_block(19);
read_unpin_block(18);
read_unpin_block(16);
read_unpin_block(2);
read_unpin_block(14);
read_unpin_block(10);
read_unpin_block(17);
read_unpin_block(10);
read_unpin_block(18);
read_unpin_block(10);
read_unpin_block(9);
read_unpin_block(1);
read_unpin_block(16);
read_unpin_block(13);
read_unpin_block(16);
read_pin_block(7);
read_unpin_block(18);
read_unpin_block(3);
read_unpin_block(10);
read_unpin_block(8);
read_unpin_block(2);
read_unpin_block(20);
read_unpin_block(11);
read_unpin_block(7);
unpin_block(7);
read_unpin_block(13);
read_unpin_block(15);
read_pin_block(10);
unpin_block(10);
read_unpin_block(6);
read_unpin_block(19);
read_pin_block(7);
read_unpin_block(1);
read_unpin_block(16);
unpin_block(7);
read_unpin_block(2);
read_unpin_block(4);
read_unpin_block(9);
read_unpin_block(8);
read_unpin_block(10);
read_unpin_block(9);
read_unpin_block(0);
read_unpin_block(12);
read_unpin_block(0);
read_unpin_block(0);
read_unpin_block(13);
read_unpin_block(11);
read_pin_block(17);
read_unpin_block(14);
read_unpin_block(17);
read_unpin_block(18);
read_unpin_block(3);
read_unpin_block(10);
read_unpin_block(8);
read_unpin_block(3);
read_unpin_block(20);
read_unpin_block(2);
read_unpin_block(17);
read_unpin_block(9);
read_pin_block(13);
read_unpin_block(12);
unpin_block(17);
read_unpin_block(10);
read_unpin_block(2);
read_unpin_block(11);
read_unpin_block(12);
read_unpin_block(8);
read_unpin_block(9);
read_unpin_block(14);
read_pin_block(9);
read_unpin_block(9);
unpin_block(30);
unpin_block(31);
unpin_block(32);
unpin_block(33);
unpin_block(34);
unpin_block(35);
unpin_block(36);
unpin_block(9);
unpin_block(13);

View File

@@ -0,0 +1,243 @@
read_pin_block(30);
read_pin_block(31);
read_pin_block(32);
read_pin_block(33);
read_pin_block(34);
read_pin_block(35);
read_pin_block(36);
read_unpin_block(6);
read_unpin_block(6);
read_unpin_block(8);
read_unpin_block(13);
read_unpin_block(6);
read_unpin_block(8);
read_pin_block(4);
read_unpin_block(15);
read_unpin_block(4);
read_unpin_block(9);
read_pin_block(17);
read_pin_block(2);
read_unpin_block(19);
unpin_block(4);
read_unpin_block(17);
read_unpin_block(0);
read_unpin_block(14);
read_pin_block(5);
unpin_block(2);
read_unpin_block(18);
read_unpin_block(8);
unpin_block(5);
read_unpin_block(1);
read_unpin_block(3);
read_unpin_block(17);
unpin_block(17);
read_pin_block(4);
read_unpin_block(12);
read_unpin_block(19);
read_unpin_block(16);
read_unpin_block(17);
read_unpin_block(6);
read_unpin_block(18);
read_unpin_block(20);
read_unpin_block(14);
read_unpin_block(15);
unpin_block(4);
read_unpin_block(3);
read_unpin_block(17);
read_unpin_block(11);
read_unpin_block(3);
read_pin_block(2);
read_unpin_block(2);
read_unpin_block(19);
unpin_block(2);
read_pin_block(20);
read_pin_block(4);
read_unpin_block(16);
read_unpin_block(13);
read_unpin_block(0);
read_unpin_block(16);
read_unpin_block(15);
read_unpin_block(10);
read_unpin_block(3);
unpin_block(20);
unpin_block(4);
read_unpin_block(1);
read_pin_block(3);
read_unpin_block(5);
read_unpin_block(2);
read_unpin_block(19);
read_unpin_block(8);
read_unpin_block(3);
read_unpin_block(13);
read_unpin_block(13);
read_unpin_block(4);
read_unpin_block(8);
read_unpin_block(18);
read_unpin_block(6);
read_unpin_block(4);
read_unpin_block(4);
read_unpin_block(14);
read_unpin_block(0);
read_unpin_block(20);
read_unpin_block(16);
read_unpin_block(2);
read_pin_block(3);
read_unpin_block(17);
read_unpin_block(3);
read_unpin_block(12);
read_unpin_block(11);
read_unpin_block(2);
read_unpin_block(14);
read_unpin_block(20);
read_unpin_block(6);
read_unpin_block(2);
unpin_block(3);
read_unpin_block(12);
read_unpin_block(14);
read_unpin_block(8);
read_unpin_block(11);
read_unpin_block(4);
read_unpin_block(11);
read_unpin_block(17);
read_unpin_block(12);
read_unpin_block(15);
read_unpin_block(5);
unpin_block(3);
read_unpin_block(12);
read_unpin_block(4);
read_unpin_block(8);
read_unpin_block(0);
read_unpin_block(1);
read_unpin_block(16);
read_unpin_block(1);
read_pin_block(18);
read_unpin_block(8);
read_unpin_block(2);
read_unpin_block(10);
read_unpin_block(9);
read_unpin_block(20);
read_unpin_block(18);
read_unpin_block(1);
read_unpin_block(8);
unpin_block(18);
read_pin_block(18);
read_unpin_block(14);
read_unpin_block(13);
read_unpin_block(19);
read_unpin_block(16);
read_unpin_block(18);
read_unpin_block(0);
read_unpin_block(3);
read_unpin_block(15);
read_unpin_block(19);
read_unpin_block(13);
read_pin_block(17);
read_unpin_block(8);
read_pin_block(17);
read_unpin_block(18);
read_unpin_block(7);
read_unpin_block(15);
unpin_block(17);
read_unpin_block(3);
read_unpin_block(16);
read_unpin_block(15);
read_unpin_block(18);
read_unpin_block(20);
read_unpin_block(14);
read_unpin_block(19);
read_unpin_block(15);
read_unpin_block(3);
unpin_block(17);
read_pin_block(16);
read_unpin_block(3);
read_unpin_block(0);
read_pin_block(1);
read_unpin_block(5);
read_unpin_block(12);
read_unpin_block(17);
read_unpin_block(12);
read_unpin_block(20);
unpin_block(16);
read_pin_block(14);
unpin_block(1);
read_unpin_block(14);
unpin_block(14);
read_pin_block(5);
read_unpin_block(9);
read_pin_block(12);
read_unpin_block(6);
read_pin_block(20);
read_unpin_block(5);
read_unpin_block(2);
read_pin_block(0);
read_unpin_block(19);
read_unpin_block(16);
unpin_block(18);
read_pin_block(11);
read_unpin_block(12);
read_unpin_block(0);
read_unpin_block(14);
read_unpin_block(11);
read_pin_block(19);
unpin_block(0);
read_unpin_block(9);
read_unpin_block(1);
read_pin_block(1);
read_unpin_block(0);
read_pin_block(11);
unpin_block(19);
read_pin_block(4);
read_pin_block(3);
unpin_block(5);
unpin_block(12);
read_unpin_block(11);
read_unpin_block(16);
read_unpin_block(5);
unpin_block(20);
unpin_block(1);
read_unpin_block(4);
unpin_block(11);
read_unpin_block(20);
read_unpin_block(20);
read_unpin_block(3);
read_unpin_block(18);
unpin_block(11);
read_unpin_block(1);
read_unpin_block(13);
unpin_block(4);
read_unpin_block(5);
unpin_block(3);
read_unpin_block(18);
read_pin_block(9);
read_unpin_block(7);
read_unpin_block(19);
read_unpin_block(20);
unpin_block(9);
read_unpin_block(5);
read_unpin_block(20);
read_unpin_block(3);
read_unpin_block(1);
read_unpin_block(9);
read_unpin_block(17);
read_pin_block(12);
read_unpin_block(5);
unpin_block(12);
read_unpin_block(2);
read_unpin_block(19);
read_unpin_block(2);
read_unpin_block(20);
read_unpin_block(18);
read_unpin_block(18);
read_unpin_block(12);
read_unpin_block(19);
read_unpin_block(2);
read_unpin_block(0);
read_unpin_block(16);
read_unpin_block(11);
unpin_block(30);
unpin_block(31);
unpin_block(32);
unpin_block(33);
unpin_block(34);
unpin_block(35);
unpin_block(36);

View File

@@ -0,0 +1,233 @@
read_pin_block(30);
read_pin_block(31);
read_pin_block(32);
read_pin_block(33);
read_pin_block(34);
read_pin_block(35);
read_pin_block(36);
read_unpin_block(18);
read_unpin_block(14);
read_unpin_block(7);
read_unpin_block(12);
read_unpin_block(6);
read_unpin_block(3);
read_pin_block(17);
read_pin_block(12);
unpin_block(12);
read_unpin_block(17);
read_unpin_block(7);
read_unpin_block(0);
read_unpin_block(13);
read_unpin_block(10);
read_unpin_block(16);
read_unpin_block(2);
read_unpin_block(5);
read_unpin_block(2);
read_unpin_block(10);
read_unpin_block(6);
read_unpin_block(19);
read_pin_block(0);
read_unpin_block(16);
unpin_block(0);
read_unpin_block(4);
read_pin_block(4);
read_unpin_block(2);
read_unpin_block(19);
read_unpin_block(15);
read_unpin_block(6);
read_unpin_block(8);
read_unpin_block(7);
read_unpin_block(6);
read_pin_block(0);
read_unpin_block(10);
unpin_block(17);
read_unpin_block(8);
read_unpin_block(13);
unpin_block(4);
read_unpin_block(0);
read_unpin_block(19);
read_unpin_block(20);
read_unpin_block(17);
read_unpin_block(8);
read_unpin_block(19);
read_pin_block(11);
read_unpin_block(19);
read_unpin_block(16);
unpin_block(0);
read_unpin_block(16);
read_unpin_block(2);
read_unpin_block(3);
read_unpin_block(15);
read_unpin_block(3);
read_pin_block(15);
unpin_block(15);
read_unpin_block(6);
read_unpin_block(5);
read_unpin_block(13);
read_unpin_block(16);
read_unpin_block(11);
read_unpin_block(12);
read_unpin_block(8);
read_unpin_block(18);
read_unpin_block(6);
read_unpin_block(20);
read_unpin_block(18);
read_unpin_block(1);
read_pin_block(15);
read_unpin_block(12);
read_unpin_block(1);
read_unpin_block(13);
read_unpin_block(2);
read_unpin_block(13);
read_unpin_block(19);
unpin_block(11);
unpin_block(15);
read_unpin_block(4);
read_unpin_block(5);
read_unpin_block(16);
read_unpin_block(5);
read_unpin_block(13);
read_unpin_block(12);
read_unpin_block(1);
read_unpin_block(12);
read_unpin_block(6);
read_unpin_block(9);
read_unpin_block(20);
read_unpin_block(11);
read_unpin_block(19);
read_unpin_block(12);
read_unpin_block(6);
read_unpin_block(8);
read_unpin_block(5);
read_unpin_block(4);
read_unpin_block(1);
read_unpin_block(16);
read_unpin_block(15);
read_unpin_block(13);
read_unpin_block(13);
read_unpin_block(8);
read_unpin_block(0);
read_unpin_block(10);
read_unpin_block(7);
read_unpin_block(12);
read_pin_block(7);
unpin_block(7);
read_unpin_block(11);
read_unpin_block(0);
read_unpin_block(19);
read_pin_block(5);
read_unpin_block(4);
read_unpin_block(8);
read_unpin_block(4);
read_pin_block(11);
read_unpin_block(15);
read_unpin_block(2);
read_unpin_block(2);
unpin_block(5);
read_unpin_block(1);
read_unpin_block(11);
unpin_block(11);
read_unpin_block(1);
read_unpin_block(17);
read_unpin_block(3);
read_unpin_block(20);
read_unpin_block(19);
read_unpin_block(14);
read_unpin_block(6);
read_unpin_block(15);
read_unpin_block(16);
read_unpin_block(17);
read_unpin_block(4);
read_unpin_block(11);
read_unpin_block(17);
read_unpin_block(9);
read_unpin_block(16);
read_unpin_block(9);
read_unpin_block(3);
read_unpin_block(13);
read_unpin_block(2);
read_unpin_block(19);
read_pin_block(1);
read_unpin_block(18);
unpin_block(1);
read_unpin_block(7);
read_unpin_block(9);
read_unpin_block(11);
read_pin_block(1);
unpin_block(1);
read_unpin_block(6);
read_unpin_block(9);
read_unpin_block(1);
read_unpin_block(17);
read_pin_block(16);
read_unpin_block(19);
read_unpin_block(0);
read_unpin_block(8);
read_unpin_block(12);
read_unpin_block(11);
read_unpin_block(9);
read_unpin_block(8);
read_unpin_block(2);
read_unpin_block(20);
read_unpin_block(17);
read_unpin_block(14);
read_unpin_block(3);
unpin_block(16);
read_pin_block(20);
read_unpin_block(20);
read_unpin_block(2);
read_unpin_block(10);
read_unpin_block(16);
read_unpin_block(1);
read_unpin_block(19);
read_unpin_block(6);
read_unpin_block(17);
read_unpin_block(2);
read_unpin_block(15);
read_unpin_block(15);
read_unpin_block(2);
read_unpin_block(0);
read_unpin_block(8);
read_unpin_block(11);
read_unpin_block(8);
read_unpin_block(12);
read_unpin_block(15);
read_unpin_block(12);
read_unpin_block(3);
unpin_block(20);
read_unpin_block(10);
read_pin_block(0);
read_unpin_block(16);
read_unpin_block(7);
unpin_block(0);
read_pin_block(7);
read_unpin_block(4);
read_unpin_block(9);
read_unpin_block(5);
read_unpin_block(8);
unpin_block(7);
read_unpin_block(4);
read_pin_block(19);
read_unpin_block(2);
unpin_block(19);
read_unpin_block(8);
read_unpin_block(11);
read_unpin_block(18);
read_unpin_block(10);
read_unpin_block(6);
read_pin_block(0);
read_unpin_block(17);
read_unpin_block(3);
read_unpin_block(1);
read_unpin_block(15);
read_unpin_block(15);
read_unpin_block(13);
read_unpin_block(9);
unpin_block(30);
unpin_block(31);
unpin_block(32);
unpin_block(33);
unpin_block(34);
unpin_block(35);
unpin_block(36);
unpin_block(0);

View File

@@ -0,0 +1,255 @@
read_pin_block(30);
read_pin_block(31);
read_unpin_block(0);
read_unpin_block(0);
read_unpin_block(19);
read_pin_block(10);
read_pin_block(14);
read_pin_block(14);
read_pin_block(19);
unpin_block(19);
read_pin_block(15);
unpin_block(10);
read_unpin_block(2);
unpin_block(15);
read_unpin_block(0);
read_unpin_block(1);
unpin_block(14);
read_unpin_block(20);
read_unpin_block(10);
read_unpin_block(16);
read_unpin_block(19);
unpin_block(14);
read_unpin_block(19);
read_pin_block(15);
read_unpin_block(18);
read_unpin_block(20);
read_unpin_block(14);
read_unpin_block(8);
read_unpin_block(3);
read_unpin_block(14);
read_pin_block(18);
read_pin_block(11);
unpin_block(11);
read_pin_block(6);
read_unpin_block(4);
unpin_block(6);
read_unpin_block(15);
read_pin_block(8);
read_unpin_block(16);
unpin_block(18);
read_unpin_block(4);
read_unpin_block(19);
read_unpin_block(3);
read_unpin_block(10);
read_pin_block(16);
read_unpin_block(1);
unpin_block(16);
read_unpin_block(17);
read_unpin_block(9);
read_pin_block(0);
read_unpin_block(8);
read_unpin_block(14);
unpin_block(8);
read_unpin_block(17);
read_unpin_block(8);
read_pin_block(18);
unpin_block(0);
read_pin_block(9);
read_unpin_block(16);
read_unpin_block(20);
read_unpin_block(9);
unpin_block(18);
read_unpin_block(15);
read_unpin_block(15);
read_pin_block(19);
read_pin_block(20);
read_pin_block(4);
read_pin_block(2);
read_unpin_block(4);
unpin_block(20);
read_unpin_block(4);
unpin_block(9);
read_unpin_block(18);
unpin_block(19);
read_unpin_block(13);
read_pin_block(14);
unpin_block(4);
read_unpin_block(15);
read_unpin_block(2);
unpin_block(15);
unpin_block(2);
read_unpin_block(19);
read_pin_block(15);
read_unpin_block(19);
read_unpin_block(6);
read_unpin_block(0);
read_unpin_block(16);
read_unpin_block(4);
read_unpin_block(19);
unpin_block(15);
read_unpin_block(17);
read_unpin_block(11);
read_unpin_block(1);
read_unpin_block(2);
read_pin_block(2);
unpin_block(14);
unpin_block(2);
read_unpin_block(16);
read_unpin_block(19);
read_unpin_block(17);
read_pin_block(2);
read_unpin_block(5);
read_unpin_block(20);
read_unpin_block(5);
read_pin_block(12);
read_unpin_block(19);
read_unpin_block(20);
read_unpin_block(6);
read_unpin_block(19);
read_unpin_block(8);
read_unpin_block(10);
read_unpin_block(3);
read_unpin_block(14);
read_unpin_block(11);
read_unpin_block(0);
read_unpin_block(20);
unpin_block(12);
read_pin_block(16);
read_pin_block(5);
unpin_block(16);
read_unpin_block(17);
read_unpin_block(17);
read_unpin_block(19);
read_unpin_block(19);
read_pin_block(11);
read_unpin_block(12);
read_pin_block(20);
unpin_block(2);
read_unpin_block(18);
read_unpin_block(6);
unpin_block(11);
read_pin_block(0);
read_unpin_block(5);
read_unpin_block(8);
read_unpin_block(7);
read_unpin_block(17);
read_unpin_block(20);
read_pin_block(1);
read_unpin_block(15);
unpin_block(20);
unpin_block(1);
read_unpin_block(20);
unpin_block(5);
unpin_block(0);
read_pin_block(3);
read_unpin_block(20);
read_unpin_block(3);
read_pin_block(14);
read_unpin_block(15);
read_pin_block(12);
read_pin_block(8);
unpin_block(14);
read_unpin_block(8);
read_unpin_block(5);
read_unpin_block(3);
read_pin_block(11);
read_pin_block(12);
read_unpin_block(2);
unpin_block(11);
unpin_block(12);
read_pin_block(4);
read_unpin_block(7);
unpin_block(3);
read_unpin_block(20);
read_unpin_block(9);
unpin_block(4);
read_unpin_block(3);
read_pin_block(7);
read_unpin_block(3);
read_pin_block(18);
read_unpin_block(14);
read_unpin_block(12);
read_unpin_block(1);
read_unpin_block(11);
unpin_block(7);
read_pin_block(4);
unpin_block(12);
read_unpin_block(0);
unpin_block(18);
read_unpin_block(2);
read_unpin_block(14);
read_unpin_block(3);
read_unpin_block(2);
read_unpin_block(2);
unpin_block(4);
read_unpin_block(0);
read_pin_block(3);
read_unpin_block(19);
read_pin_block(7);
read_unpin_block(18);
unpin_block(8);
unpin_block(3);
read_unpin_block(1);
read_unpin_block(15);
read_unpin_block(17);
read_pin_block(7);
read_unpin_block(2);
read_unpin_block(18);
unpin_block(7);
read_unpin_block(7);
read_unpin_block(17);
read_unpin_block(8);
read_pin_block(19);
read_pin_block(10);
read_unpin_block(19);
read_unpin_block(10);
read_unpin_block(3);
read_unpin_block(5);
unpin_block(7);
unpin_block(19);
unpin_block(10);
read_unpin_block(6);
read_unpin_block(1);
read_unpin_block(7);
read_unpin_block(20);
read_pin_block(1);
read_unpin_block(6);
read_unpin_block(3);
read_unpin_block(1);
read_pin_block(5);
read_unpin_block(20);
read_unpin_block(8);
read_unpin_block(0);
read_pin_block(20);
read_unpin_block(3);
unpin_block(1);
read_unpin_block(18);
read_unpin_block(13);
read_pin_block(20);
read_unpin_block(1);
unpin_block(5);
read_pin_block(8);
read_unpin_block(18);
read_unpin_block(0);
read_unpin_block(2);
read_unpin_block(12);
read_unpin_block(4);
unpin_block(20);
read_unpin_block(18);
read_unpin_block(6);
read_unpin_block(15);
read_pin_block(4);
read_pin_block(19);
read_unpin_block(5);
unpin_block(4);
read_unpin_block(8);
read_unpin_block(11);
unpin_block(20);
read_unpin_block(1);
unpin_block(19);
read_unpin_block(17);
read_unpin_block(2);
unpin_block(30);
unpin_block(31);
unpin_block(8);

View File

@@ -0,0 +1,273 @@
read_pin_block(30);
read_pin_block(31);
read_unpin_block(4);
read_unpin_block(2);
read_pin_block(12);
unpin_block(12);
read_unpin_block(20);
read_unpin_block(1);
read_unpin_block(6);
read_unpin_block(16);
read_unpin_block(19);
read_pin_block(4);
read_unpin_block(16);
read_unpin_block(7);
read_unpin_block(5);
read_unpin_block(18);
read_pin_block(13);
read_pin_block(16);
unpin_block(13);
read_pin_block(4);
read_unpin_block(6);
read_unpin_block(2);
read_pin_block(6);
read_pin_block(11);
unpin_block(4);
unpin_block(11);
read_pin_block(13);
read_unpin_block(16);
read_pin_block(1);
unpin_block(13);
read_unpin_block(7);
read_unpin_block(8);
unpin_block(1);
read_unpin_block(2);
read_unpin_block(2);
unpin_block(16);
unpin_block(6);
read_pin_block(4);
read_unpin_block(2);
unpin_block(4);
read_unpin_block(1);
read_unpin_block(10);
read_pin_block(4);
read_unpin_block(17);
read_unpin_block(0);
unpin_block(4);
read_unpin_block(2);
read_unpin_block(13);
read_unpin_block(11);
read_unpin_block(16);
read_unpin_block(10);
read_unpin_block(14);
read_unpin_block(18);
read_unpin_block(2);
read_pin_block(5);
read_pin_block(4);
read_pin_block(3);
unpin_block(4);
read_pin_block(16);
unpin_block(5);
read_pin_block(3);
unpin_block(4);
unpin_block(3);
unpin_block(16);
unpin_block(3);
read_unpin_block(17);
read_unpin_block(5);
read_unpin_block(13);
read_pin_block(3);
read_pin_block(18);
read_unpin_block(9);
read_pin_block(8);
read_pin_block(11);
unpin_block(18);
read_pin_block(9);
read_pin_block(4);
read_unpin_block(3);
unpin_block(3);
unpin_block(9);
read_pin_block(10);
read_pin_block(7);
read_unpin_block(12);
read_unpin_block(13);
read_unpin_block(8);
unpin_block(8);
unpin_block(7);
read_unpin_block(18);
unpin_block(11);
unpin_block(4);
read_unpin_block(10);
read_pin_block(18);
read_unpin_block(8);
read_pin_block(8);
read_pin_block(0);
read_unpin_block(14);
read_unpin_block(17);
unpin_block(10);
read_unpin_block(10);
read_unpin_block(12);
unpin_block(18);
read_unpin_block(12);
unpin_block(8);
read_unpin_block(12);
read_unpin_block(20);
read_unpin_block(14);
unpin_block(0);
read_unpin_block(5);
read_unpin_block(10);
read_pin_block(5);
read_unpin_block(0);
read_unpin_block(0);
read_pin_block(1);
read_unpin_block(19);
read_unpin_block(13);
read_unpin_block(6);
read_unpin_block(20);
unpin_block(5);
unpin_block(1);
read_unpin_block(13);
read_unpin_block(17);
read_pin_block(10);
read_unpin_block(14);
read_pin_block(12);
unpin_block(10);
read_unpin_block(10);
read_pin_block(17);
read_pin_block(6);
read_unpin_block(11);
read_unpin_block(9);
read_unpin_block(3);
read_pin_block(0);
read_pin_block(2);
unpin_block(12);
read_unpin_block(4);
unpin_block(6);
read_unpin_block(20);
read_pin_block(14);
read_unpin_block(16);
unpin_block(0);
read_unpin_block(13);
read_pin_block(14);
read_unpin_block(2);
unpin_block(14);
read_unpin_block(6);
read_unpin_block(1);
read_unpin_block(7);
read_pin_block(14);
unpin_block(2);
unpin_block(14);
read_pin_block(15);
read_pin_block(14);
read_pin_block(2);
read_pin_block(19);
read_unpin_block(1);
unpin_block(17);
read_pin_block(18);
read_unpin_block(7);
read_unpin_block(6);
unpin_block(14);
unpin_block(18);
read_pin_block(1);
read_unpin_block(3);
unpin_block(19);
read_pin_block(11);
read_unpin_block(4);
read_unpin_block(7);
unpin_block(2);
read_pin_block(2);
read_unpin_block(4);
read_unpin_block(11);
read_unpin_block(2);
unpin_block(14);
read_pin_block(4);
read_pin_block(6);
read_unpin_block(19);
read_unpin_block(9);
read_unpin_block(10);
unpin_block(4);
read_pin_block(20);
read_pin_block(17);
read_unpin_block(7);
unpin_block(11);
read_pin_block(3);
unpin_block(6);
read_unpin_block(17);
unpin_block(20);
read_pin_block(4);
unpin_block(2);
read_unpin_block(14);
read_unpin_block(4);
unpin_block(1);
read_pin_block(10);
unpin_block(4);
read_unpin_block(1);
unpin_block(3);
read_pin_block(0);
unpin_block(17);
read_unpin_block(1);
read_pin_block(12);
unpin_block(15);
read_pin_block(7);
read_pin_block(0);
unpin_block(7);
read_unpin_block(20);
read_unpin_block(13);
unpin_block(12);
read_unpin_block(0);
unpin_block(10);
read_unpin_block(7);
read_pin_block(13);
read_unpin_block(17);
read_unpin_block(3);
unpin_block(0);
read_unpin_block(16);
read_unpin_block(3);
read_unpin_block(15);
read_unpin_block(3);
read_unpin_block(6);
read_unpin_block(5);
unpin_block(13);
read_unpin_block(18);
read_pin_block(5);
read_unpin_block(7);
read_pin_block(15);
read_unpin_block(2);
read_pin_block(7);
read_unpin_block(0);
unpin_block(7);
read_pin_block(13);
unpin_block(15);
read_pin_block(7);
read_unpin_block(3);
read_unpin_block(19);
read_unpin_block(16);
unpin_block(7);
read_unpin_block(4);
read_unpin_block(15);
unpin_block(0);
unpin_block(5);
read_unpin_block(0);
unpin_block(13);
read_unpin_block(2);
read_unpin_block(16);
read_unpin_block(16);
read_unpin_block(13);
read_unpin_block(9);
read_unpin_block(0);
read_pin_block(13);
read_unpin_block(6);
read_unpin_block(2);
read_pin_block(20);
unpin_block(20);
read_unpin_block(9);
read_unpin_block(9);
read_unpin_block(11);
read_unpin_block(3);
unpin_block(13);
read_pin_block(10);
read_pin_block(0);
read_unpin_block(20);
unpin_block(10);
read_pin_block(13);
read_unpin_block(10);
read_unpin_block(12);
read_pin_block(9);
unpin_block(13);
read_unpin_block(3);
read_unpin_block(2);
unpin_block(0);
read_unpin_block(6);
unpin_block(30);
unpin_block(31);
unpin_block(9);

View File

@@ -0,0 +1,268 @@
read_pin_block(30);
read_pin_block(31);
read_unpin_block(18);
read_unpin_block(11);
read_pin_block(5);
unpin_block(5);
read_pin_block(0);
read_unpin_block(5);
read_unpin_block(15);
read_unpin_block(13);
read_unpin_block(15);
read_pin_block(20);
unpin_block(20);
read_unpin_block(14);
read_unpin_block(5);
read_pin_block(15);
unpin_block(15);
read_unpin_block(17);
read_pin_block(4);
unpin_block(4);
read_unpin_block(4);
read_unpin_block(8);
read_unpin_block(6);
read_unpin_block(14);
read_unpin_block(10);
read_unpin_block(19);
unpin_block(0);
read_pin_block(10);
read_unpin_block(9);
unpin_block(10);
read_pin_block(14);
read_unpin_block(9);
read_pin_block(4);
read_unpin_block(6);
unpin_block(14);
read_unpin_block(15);
read_unpin_block(2);
read_unpin_block(9);
read_unpin_block(16);
read_pin_block(20);
read_unpin_block(11);
read_unpin_block(2);
read_unpin_block(7);
read_pin_block(17);
read_pin_block(16);
read_pin_block(16);
unpin_block(20);
read_unpin_block(2);
read_pin_block(8);
unpin_block(17);
unpin_block(16);
read_unpin_block(18);
unpin_block(8);
read_unpin_block(17);
unpin_block(4);
read_unpin_block(2);
unpin_block(16);
read_pin_block(6);
read_pin_block(14);
read_pin_block(0);
read_unpin_block(14);
read_unpin_block(8);
unpin_block(0);
read_pin_block(7);
read_pin_block(9);
read_unpin_block(19);
read_pin_block(13);
read_unpin_block(20);
read_unpin_block(16);
read_unpin_block(16);
read_unpin_block(5);
read_unpin_block(4);
unpin_block(13);
read_unpin_block(6);
read_unpin_block(9);
unpin_block(14);
read_pin_block(13);
unpin_block(13);
read_pin_block(12);
read_unpin_block(0);
read_unpin_block(5);
unpin_block(6);
read_unpin_block(11);
read_unpin_block(2);
read_unpin_block(11);
read_unpin_block(4);
read_unpin_block(3);
read_unpin_block(14);
read_pin_block(11);
read_pin_block(5);
read_unpin_block(15);
read_pin_block(11);
unpin_block(7);
read_unpin_block(1);
read_unpin_block(6);
read_pin_block(10);
read_unpin_block(15);
unpin_block(9);
read_unpin_block(6);
read_unpin_block(0);
read_unpin_block(17);
read_unpin_block(0);
read_unpin_block(11);
read_unpin_block(0);
unpin_block(11);
read_unpin_block(14);
read_pin_block(19);
read_unpin_block(19);
unpin_block(5);
read_unpin_block(1);
read_unpin_block(9);
unpin_block(11);
read_pin_block(14);
read_unpin_block(8);
read_unpin_block(4);
unpin_block(12);
unpin_block(14);
read_pin_block(12);
read_unpin_block(17);
read_pin_block(18);
unpin_block(19);
read_pin_block(6);
unpin_block(18);
unpin_block(6);
read_pin_block(5);
read_unpin_block(1);
read_unpin_block(20);
read_pin_block(10);
read_unpin_block(8);
read_unpin_block(4);
read_unpin_block(9);
unpin_block(12);
read_pin_block(6);
read_unpin_block(20);
read_unpin_block(20);
read_unpin_block(18);
read_pin_block(12);
unpin_block(10);
read_unpin_block(19);
read_pin_block(19);
read_pin_block(3);
unpin_block(12);
read_unpin_block(13);
read_unpin_block(17);
unpin_block(3);
read_pin_block(19);
read_unpin_block(4);
read_unpin_block(8);
read_pin_block(17);
read_pin_block(15);
unpin_block(6);
unpin_block(19);
read_unpin_block(19);
unpin_block(15);
read_unpin_block(1);
read_unpin_block(10);
read_unpin_block(9);
unpin_block(19);
read_unpin_block(11);
unpin_block(10);
read_pin_block(5);
read_unpin_block(18);
read_unpin_block(17);
read_unpin_block(2);
read_pin_block(0);
read_unpin_block(4);
read_unpin_block(5);
unpin_block(5);
read_unpin_block(4);
read_pin_block(6);
unpin_block(0);
read_pin_block(12);
read_pin_block(18);
read_pin_block(12);
read_unpin_block(9);
read_unpin_block(4);
unpin_block(12);
read_unpin_block(18);
read_unpin_block(19);
unpin_block(6);
read_pin_block(2);
read_unpin_block(2);
read_unpin_block(8);
read_unpin_block(15);
read_unpin_block(5);
unpin_block(18);
read_pin_block(16);
read_unpin_block(3);
unpin_block(16);
read_unpin_block(19);
read_pin_block(17);
unpin_block(5);
unpin_block(12);
read_unpin_block(7);
read_pin_block(9);
unpin_block(17);
read_pin_block(14);
read_unpin_block(12);
unpin_block(14);
read_unpin_block(9);
read_unpin_block(4);
read_pin_block(14);
read_pin_block(17);
unpin_block(9);
read_unpin_block(20);
read_unpin_block(20);
read_pin_block(9);
read_unpin_block(12);
read_unpin_block(17);
unpin_block(17);
read_unpin_block(2);
unpin_block(17);
read_pin_block(17);
read_unpin_block(15);
read_unpin_block(11);
read_unpin_block(2);
read_unpin_block(9);
read_pin_block(6);
unpin_block(14);
unpin_block(6);
read_unpin_block(4);
read_unpin_block(4);
unpin_block(9);
unpin_block(17);
read_unpin_block(5);
read_unpin_block(17);
read_pin_block(9);
read_unpin_block(17);
read_unpin_block(4);
read_unpin_block(20);
read_unpin_block(6);
read_unpin_block(12);
read_pin_block(9);
read_unpin_block(0);
read_pin_block(3);
read_unpin_block(19);
read_pin_block(13);
read_pin_block(20);
read_unpin_block(20);
read_unpin_block(3);
read_unpin_block(8);
read_unpin_block(2);
read_unpin_block(20);
unpin_block(9);
read_pin_block(5);
unpin_block(5);
read_unpin_block(11);
read_unpin_block(17);
read_pin_block(12);
unpin_block(3);
read_unpin_block(9);
unpin_block(9);
read_unpin_block(15);
read_pin_block(18);
read_unpin_block(1);
unpin_block(18);
read_unpin_block(3);
read_pin_block(19);
read_unpin_block(11);
unpin_block(19);
read_unpin_block(11);
unpin_block(2);
read_unpin_block(4);
unpin_block(30);
unpin_block(31);
unpin_block(12);
unpin_block(13);
unpin_block(20);

View File

@@ -0,0 +1,260 @@
NOTICE: test_bufmgr testcase movies 0
NOTICE: test_bufmgr read_pin_block blkno 30 bufid 0
NOTICE: test_bufmgr read_pin_block blkno 31 bufid 1
NOTICE: test_bufmgr read_pin_block blkno 32 bufid 2
NOTICE: test_bufmgr read_pin_block blkno 33 bufid 3
NOTICE: test_bufmgr read_pin_block blkno 34 bufid 4
NOTICE: test_bufmgr read_pin_block blkno 35 bufid 5
NOTICE: test_bufmgr read_pin_block blkno 36 bufid 6
NOTICE: test_bufmgr read_pin_block blkno 37 bufid 7
NOTICE: test_bufmgr read_pin_block blkno 38 bufid 8
NOTICE: test_bufmgr read_pin_block blkno 39 bufid 9
NOTICE: test_bufmgr read_pin_block blkno 40 bufid 10
NOTICE: test_bufmgr read_pin_block blkno 41 bufid 11
NOTICE: test_bufmgr read_pin_block blkno 42 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 3 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 13
NOTICE: test_bufmgr unpin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 13
NOTICE: test_bufmgr unpin_block blkno 3 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 13 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 13
NOTICE: test_bufmgr unpin_block blkno 13 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 15
NOTICE: test_bufmgr unpin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 14 bufid 13
NOTICE: test_bufmgr unpin_block blkno 14 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 14 bufid 14
NOTICE: test_bufmgr unpin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 0 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 14
NOTICE: test_bufmgr unpin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 10 bufid 14
NOTICE: test_bufmgr unpin_block blkno 0 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 1 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 14
NOTICE: test_bufmgr unpin_block blkno 1 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 4 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 15
NOTICE: test_bufmgr unpin_block blkno 10 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 3 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr unpin_block blkno 3 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 18 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 15
NOTICE: test_bufmgr unpin_block blkno 18 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 1 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 15
NOTICE: test_bufmgr unpin_block blkno 1 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 14
NOTICE: test_bufmgr unpin_block blkno 4 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 14
NOTICE: test_bufmgr unpin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 2 bufid 13
NOTICE: test_bufmgr unpin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 14
NOTICE: test_bufmgr unpin_block blkno 2 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 11 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 3 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 15
NOTICE: test_bufmgr unpin_block blkno 11 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 20 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 15
NOTICE: test_bufmgr unpin_block blkno 20 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 12 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 13
NOTICE: test_bufmgr unpin_block blkno 3 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 5 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 15
NOTICE: test_bufmgr unpin_block blkno 5 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 1 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 13
NOTICE: test_bufmgr unpin_block blkno 12 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 9 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 15
NOTICE: test_bufmgr unpin_block blkno 9 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 19 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 13
NOTICE: test_bufmgr unpin_block blkno 19 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 1 bufid 14
NOTICE: test_bufmgr unpin_block blkno 1 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 13
NOTICE: test_bufmgr unpin_block blkno 1 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 17 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 15
NOTICE: test_bufmgr unpin_block blkno 17 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 6 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 12 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 14
NOTICE: test_bufmgr unpin_block blkno 6 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 14
NOTICE: test_bufmgr unpin_block blkno 12 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 17 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr unpin_block blkno 30 bufid 0
NOTICE: test_bufmgr unpin_block blkno 31 bufid 1
NOTICE: test_bufmgr unpin_block blkno 32 bufid 2
NOTICE: test_bufmgr unpin_block blkno 33 bufid 3
NOTICE: test_bufmgr unpin_block blkno 34 bufid 4
NOTICE: test_bufmgr unpin_block blkno 35 bufid 5
NOTICE: test_bufmgr unpin_block blkno 36 bufid 6
NOTICE: test_bufmgr unpin_block blkno 37 bufid 7
NOTICE: test_bufmgr unpin_block blkno 38 bufid 8
NOTICE: test_bufmgr unpin_block blkno 39 bufid 9
NOTICE: test_bufmgr unpin_block blkno 40 bufid 10
NOTICE: test_bufmgr unpin_block blkno 41 bufid 11
NOTICE: test_bufmgr unpin_block blkno 42 bufid 12
NOTICE: test_bufmgr unpin_block blkno 17 bufid 13
NOTICE: test_bufmgr unpin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 12 bufid 0
NOTICE: test_bufmgr unpin_block blkno 12 bufid 0

View File

@@ -0,0 +1,261 @@
NOTICE: test_bufmgr testcase movies 1
NOTICE: test_bufmgr read_pin_block blkno 30 bufid 0
NOTICE: test_bufmgr read_pin_block blkno 31 bufid 1
NOTICE: test_bufmgr read_pin_block blkno 32 bufid 2
NOTICE: test_bufmgr read_pin_block blkno 33 bufid 3
NOTICE: test_bufmgr read_pin_block blkno 34 bufid 4
NOTICE: test_bufmgr read_pin_block blkno 35 bufid 5
NOTICE: test_bufmgr read_pin_block blkno 36 bufid 6
NOTICE: test_bufmgr read_pin_block blkno 37 bufid 7
NOTICE: test_bufmgr read_pin_block blkno 38 bufid 8
NOTICE: test_bufmgr read_pin_block blkno 39 bufid 9
NOTICE: test_bufmgr read_pin_block blkno 40 bufid 10
NOTICE: test_bufmgr read_pin_block blkno 41 bufid 11
NOTICE: test_bufmgr read_pin_block blkno 42 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 3 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 5 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 13
NOTICE: test_bufmgr unpin_block blkno 3 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 19 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 15
NOTICE: test_bufmgr unpin_block blkno 19 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 2 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 15
NOTICE: test_bufmgr unpin_block blkno 5 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 11 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 14
NOTICE: test_bufmgr unpin_block blkno 11 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 13 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 15
NOTICE: test_bufmgr unpin_block blkno 13 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 14
NOTICE: test_bufmgr unpin_block blkno 2 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 13 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 19 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 13
NOTICE: test_bufmgr unpin_block blkno 13 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 14
NOTICE: test_bufmgr unpin_block blkno 19 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 6 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 1 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 15
NOTICE: test_bufmgr unpin_block blkno 6 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 14
NOTICE: test_bufmgr unpin_block blkno 1 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 9 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 3 bufid 14
NOTICE: test_bufmgr unpin_block blkno 9 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 11 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 13
NOTICE: test_bufmgr unpin_block blkno 3 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 1 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 14
NOTICE: test_bufmgr unpin_block blkno 1 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 16 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 15
NOTICE: test_bufmgr unpin_block blkno 11 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 7 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 13
NOTICE: test_bufmgr unpin_block blkno 16 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 15
NOTICE: test_bufmgr unpin_block blkno 7 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 14
NOTICE: test_bufmgr unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 1 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 3 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 15
NOTICE: test_bufmgr unpin_block blkno 3 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 18 bufid 15
NOTICE: test_bufmgr unpin_block blkno 18 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 16 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 14
NOTICE: test_bufmgr unpin_block blkno 16 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 3 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 14
NOTICE: test_bufmgr unpin_block blkno 1 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 13
NOTICE: test_bufmgr unpin_block blkno 3 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 14 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 5 bufid 15
NOTICE: test_bufmgr unpin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 10 bufid 14
NOTICE: test_bufmgr unpin_block blkno 14 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 2 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 15
NOTICE: test_bufmgr unpin_block blkno 2 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 13 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 15
NOTICE: test_bufmgr unpin_block blkno 10 bufid 14
NOTICE: test_bufmgr unpin_block blkno 13 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 17 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 11 bufid 13
NOTICE: test_bufmgr unpin_block blkno 11 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 1 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 13
NOTICE: test_bufmgr unpin_block blkno 17 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 18 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 13
NOTICE: test_bufmgr unpin_block blkno 1 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 13
NOTICE: test_bufmgr unpin_block blkno 18 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 15 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 0 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 15
NOTICE: test_bufmgr unpin_block blkno 15 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 20 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 15
NOTICE: test_bufmgr unpin_block blkno 30 bufid 0
NOTICE: test_bufmgr unpin_block blkno 31 bufid 1
NOTICE: test_bufmgr unpin_block blkno 32 bufid 2
NOTICE: test_bufmgr unpin_block blkno 33 bufid 3
NOTICE: test_bufmgr unpin_block blkno 34 bufid 4
NOTICE: test_bufmgr unpin_block blkno 35 bufid 5
NOTICE: test_bufmgr unpin_block blkno 36 bufid 6
NOTICE: test_bufmgr unpin_block blkno 37 bufid 7
NOTICE: test_bufmgr unpin_block blkno 38 bufid 8
NOTICE: test_bufmgr unpin_block blkno 39 bufid 9
NOTICE: test_bufmgr unpin_block blkno 40 bufid 10
NOTICE: test_bufmgr unpin_block blkno 41 bufid 11
NOTICE: test_bufmgr unpin_block blkno 42 bufid 12
NOTICE: test_bufmgr unpin_block blkno 20 bufid 14
NOTICE: test_bufmgr unpin_block blkno 0 bufid 13

View File

@@ -0,0 +1,225 @@
NOTICE: test_bufmgr testcase movies 2
NOTICE: test_bufmgr read_pin_block blkno 30 bufid 0
NOTICE: test_bufmgr read_pin_block blkno 31 bufid 1
NOTICE: test_bufmgr read_pin_block blkno 32 bufid 2
NOTICE: test_bufmgr read_pin_block blkno 33 bufid 3
NOTICE: test_bufmgr read_pin_block blkno 34 bufid 4
NOTICE: test_bufmgr read_pin_block blkno 35 bufid 5
NOTICE: test_bufmgr read_pin_block blkno 36 bufid 6
NOTICE: test_bufmgr read_pin_block blkno 37 bufid 7
NOTICE: test_bufmgr read_pin_block blkno 38 bufid 8
NOTICE: test_bufmgr read_pin_block blkno 39 bufid 9
NOTICE: test_bufmgr read_pin_block blkno 40 bufid 10
NOTICE: test_bufmgr read_pin_block blkno 41 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 14
NOTICE: test_bufmgr unpin_block blkno 30 bufid 0
NOTICE: test_bufmgr unpin_block blkno 31 bufid 1
NOTICE: test_bufmgr unpin_block blkno 32 bufid 2
NOTICE: test_bufmgr unpin_block blkno 33 bufid 3
NOTICE: test_bufmgr unpin_block blkno 34 bufid 4
NOTICE: test_bufmgr unpin_block blkno 35 bufid 5
NOTICE: test_bufmgr unpin_block blkno 36 bufid 6
NOTICE: test_bufmgr unpin_block blkno 37 bufid 7
NOTICE: test_bufmgr unpin_block blkno 38 bufid 8
NOTICE: test_bufmgr unpin_block blkno 39 bufid 9
NOTICE: test_bufmgr unpin_block blkno 40 bufid 10
NOTICE: test_bufmgr unpin_block blkno 41 bufid 11

View File

@@ -0,0 +1,225 @@
NOTICE: test_bufmgr testcase movies 3
NOTICE: test_bufmgr read_pin_block blkno 30 bufid 0
NOTICE: test_bufmgr read_pin_block blkno 31 bufid 1
NOTICE: test_bufmgr read_pin_block blkno 32 bufid 2
NOTICE: test_bufmgr read_pin_block blkno 33 bufid 3
NOTICE: test_bufmgr read_pin_block blkno 34 bufid 4
NOTICE: test_bufmgr read_pin_block blkno 35 bufid 5
NOTICE: test_bufmgr read_pin_block blkno 36 bufid 6
NOTICE: test_bufmgr read_pin_block blkno 37 bufid 7
NOTICE: test_bufmgr read_pin_block blkno 38 bufid 8
NOTICE: test_bufmgr read_pin_block blkno 39 bufid 9
NOTICE: test_bufmgr read_pin_block blkno 40 bufid 10
NOTICE: test_bufmgr read_pin_block blkno 41 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 13
NOTICE: test_bufmgr unpin_block blkno 30 bufid 0
NOTICE: test_bufmgr unpin_block blkno 31 bufid 1
NOTICE: test_bufmgr unpin_block blkno 32 bufid 2
NOTICE: test_bufmgr unpin_block blkno 33 bufid 3
NOTICE: test_bufmgr unpin_block blkno 34 bufid 4
NOTICE: test_bufmgr unpin_block blkno 35 bufid 5
NOTICE: test_bufmgr unpin_block blkno 36 bufid 6
NOTICE: test_bufmgr unpin_block blkno 37 bufid 7
NOTICE: test_bufmgr unpin_block blkno 38 bufid 8
NOTICE: test_bufmgr unpin_block blkno 39 bufid 9
NOTICE: test_bufmgr unpin_block blkno 40 bufid 10
NOTICE: test_bufmgr unpin_block blkno 41 bufid 11

View File

@@ -0,0 +1,234 @@
NOTICE: test_bufmgr testcase movies 4
NOTICE: test_bufmgr read_pin_block blkno 30 bufid 0
NOTICE: test_bufmgr read_pin_block blkno 31 bufid 1
NOTICE: test_bufmgr read_pin_block blkno 32 bufid 2
NOTICE: test_bufmgr read_pin_block blkno 33 bufid 3
NOTICE: test_bufmgr read_pin_block blkno 34 bufid 4
NOTICE: test_bufmgr read_pin_block blkno 35 bufid 5
NOTICE: test_bufmgr read_pin_block blkno 36 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 7
NOTICE: test_bufmgr read_pin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 12
NOTICE: test_bufmgr unpin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 10
NOTICE: test_bufmgr unpin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 12 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 10
NOTICE: test_bufmgr unpin_block blkno 12 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 7
NOTICE: test_bufmgr read_pin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 10
NOTICE: test_bufmgr read_pin_block blkno 15 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 10
NOTICE: test_bufmgr read_pin_block blkno 0 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 8
NOTICE: test_bufmgr unpin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 13
NOTICE: test_bufmgr unpin_block blkno 0 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 8
NOTICE: test_bufmgr read_pin_block blkno 18 bufid 9
NOTICE: test_bufmgr unpin_block blkno 18 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 11
NOTICE: test_bufmgr read_pin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 14
NOTICE: test_bufmgr unpin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 10
NOTICE: test_bufmgr unpin_block blkno 15 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 11
NOTICE: test_bufmgr read_pin_block blkno 8 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 8
NOTICE: test_bufmgr unpin_block blkno 8 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 9 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 8
NOTICE: test_bufmgr unpin_block blkno 9 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 7
NOTICE: test_bufmgr read_pin_block blkno 3 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 7
NOTICE: test_bufmgr unpin_block blkno 3 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 11
NOTICE: test_bufmgr read_pin_block blkno 18 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 12
NOTICE: test_bufmgr unpin_block blkno 18 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 15 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 14
NOTICE: test_bufmgr unpin_block blkno 15 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 11
NOTICE: test_bufmgr read_pin_block blkno 7 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 12
NOTICE: test_bufmgr unpin_block blkno 7 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 7
NOTICE: test_bufmgr read_pin_block blkno 10 bufid 14
NOTICE: test_bufmgr unpin_block blkno 10 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 8
NOTICE: test_bufmgr read_pin_block blkno 7 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 11
NOTICE: test_bufmgr unpin_block blkno 7 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 9
NOTICE: test_bufmgr read_pin_block blkno 17 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 13 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 12
NOTICE: test_bufmgr unpin_block blkno 17 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 9
NOTICE: test_bufmgr read_pin_block blkno 9 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 13
NOTICE: test_bufmgr unpin_block blkno 30 bufid 0
NOTICE: test_bufmgr unpin_block blkno 31 bufid 1
NOTICE: test_bufmgr unpin_block blkno 32 bufid 2
NOTICE: test_bufmgr unpin_block blkno 33 bufid 3
NOTICE: test_bufmgr unpin_block blkno 34 bufid 4
NOTICE: test_bufmgr unpin_block blkno 35 bufid 5
NOTICE: test_bufmgr unpin_block blkno 36 bufid 6
NOTICE: test_bufmgr unpin_block blkno 9 bufid 13
NOTICE: test_bufmgr unpin_block blkno 13 bufid 11

View File

@@ -0,0 +1,244 @@
NOTICE: test_bufmgr testcase movies 5
NOTICE: test_bufmgr read_pin_block blkno 30 bufid 0
NOTICE: test_bufmgr read_pin_block blkno 31 bufid 1
NOTICE: test_bufmgr read_pin_block blkno 32 bufid 2
NOTICE: test_bufmgr read_pin_block blkno 33 bufid 3
NOTICE: test_bufmgr read_pin_block blkno 34 bufid 4
NOTICE: test_bufmgr read_pin_block blkno 35 bufid 5
NOTICE: test_bufmgr read_pin_block blkno 36 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 8
NOTICE: test_bufmgr read_pin_block blkno 4 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 10
NOTICE: test_bufmgr read_pin_block blkno 17 bufid 11
NOTICE: test_bufmgr read_pin_block blkno 2 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 14
NOTICE: test_bufmgr unpin_block blkno 4 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 5 bufid 10
NOTICE: test_bufmgr unpin_block blkno 2 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 8
NOTICE: test_bufmgr unpin_block blkno 5 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 11
NOTICE: test_bufmgr unpin_block blkno 17 bufid 11
NOTICE: test_bufmgr read_pin_block blkno 4 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr unpin_block blkno 4 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 10
NOTICE: test_bufmgr read_pin_block blkno 2 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 14
NOTICE: test_bufmgr unpin_block blkno 2 bufid 12
NOTICE: test_bufmgr read_pin_block blkno 20 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 4 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 14
NOTICE: test_bufmgr unpin_block blkno 20 bufid 13
NOTICE: test_bufmgr unpin_block blkno 4 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 10
NOTICE: test_bufmgr read_pin_block blkno 3 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 12
NOTICE: test_bufmgr read_pin_block blkno 3 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 12
NOTICE: test_bufmgr unpin_block blkno 3 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 13
NOTICE: test_bufmgr unpin_block blkno 3 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 11
NOTICE: test_bufmgr read_pin_block blkno 18 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 7
NOTICE: test_bufmgr unpin_block blkno 18 bufid 10
NOTICE: test_bufmgr read_pin_block blkno 18 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 8
NOTICE: test_bufmgr read_pin_block blkno 17 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 7
NOTICE: test_bufmgr read_pin_block blkno 17 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr unpin_block blkno 17 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 14
NOTICE: test_bufmgr unpin_block blkno 17 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 16 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 9
NOTICE: test_bufmgr read_pin_block blkno 1 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 7
NOTICE: test_bufmgr unpin_block blkno 16 bufid 8
NOTICE: test_bufmgr read_pin_block blkno 14 bufid 8
NOTICE: test_bufmgr unpin_block blkno 1 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 8
NOTICE: test_bufmgr unpin_block blkno 14 bufid 8
NOTICE: test_bufmgr read_pin_block blkno 5 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 7
NOTICE: test_bufmgr read_pin_block blkno 12 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 7
NOTICE: test_bufmgr read_pin_block blkno 20 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 0 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 7
NOTICE: test_bufmgr unpin_block blkno 18 bufid 10
NOTICE: test_bufmgr read_pin_block blkno 11 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 19 bufid 7
NOTICE: test_bufmgr unpin_block blkno 0 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 11
NOTICE: test_bufmgr read_pin_block blkno 1 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 11 bufid 14
NOTICE: test_bufmgr unpin_block blkno 19 bufid 7
NOTICE: test_bufmgr read_pin_block blkno 4 bufid 7
NOTICE: test_bufmgr read_pin_block blkno 3 bufid 8
NOTICE: test_bufmgr unpin_block blkno 5 bufid 9
NOTICE: test_bufmgr unpin_block blkno 12 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 9
NOTICE: test_bufmgr unpin_block blkno 20 bufid 15
NOTICE: test_bufmgr unpin_block blkno 1 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 7
NOTICE: test_bufmgr unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 12
NOTICE: test_bufmgr unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 13
NOTICE: test_bufmgr unpin_block blkno 4 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 9
NOTICE: test_bufmgr unpin_block blkno 3 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 12
NOTICE: test_bufmgr read_pin_block blkno 9 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 15
NOTICE: test_bufmgr unpin_block blkno 9 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 12 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 9
NOTICE: test_bufmgr unpin_block blkno 12 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 10
NOTICE: test_bufmgr unpin_block blkno 30 bufid 0
NOTICE: test_bufmgr unpin_block blkno 31 bufid 1
NOTICE: test_bufmgr unpin_block blkno 32 bufid 2
NOTICE: test_bufmgr unpin_block blkno 33 bufid 3
NOTICE: test_bufmgr unpin_block blkno 34 bufid 4
NOTICE: test_bufmgr unpin_block blkno 35 bufid 5
NOTICE: test_bufmgr unpin_block blkno 36 bufid 6

View File

@@ -0,0 +1,234 @@
NOTICE: test_bufmgr testcase movies 6
NOTICE: test_bufmgr read_pin_block blkno 30 bufid 0
NOTICE: test_bufmgr read_pin_block blkno 31 bufid 1
NOTICE: test_bufmgr read_pin_block blkno 32 bufid 2
NOTICE: test_bufmgr read_pin_block blkno 33 bufid 3
NOTICE: test_bufmgr read_pin_block blkno 34 bufid 4
NOTICE: test_bufmgr read_pin_block blkno 35 bufid 5
NOTICE: test_bufmgr read_pin_block blkno 36 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 10
NOTICE: test_bufmgr read_pin_block blkno 17 bufid 11
NOTICE: test_bufmgr read_pin_block blkno 12 bufid 12
NOTICE: test_bufmgr unpin_block blkno 12 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 9
NOTICE: test_bufmgr read_pin_block blkno 0 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 15
NOTICE: test_bufmgr unpin_block blkno 0 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 9
NOTICE: test_bufmgr read_pin_block blkno 4 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 0 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 7
NOTICE: test_bufmgr unpin_block blkno 17 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 14
NOTICE: test_bufmgr unpin_block blkno 4 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 11 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 14
NOTICE: test_bufmgr unpin_block blkno 0 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 8
NOTICE: test_bufmgr read_pin_block blkno 15 bufid 7
NOTICE: test_bufmgr unpin_block blkno 15 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 9
NOTICE: test_bufmgr read_pin_block blkno 15 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 13
NOTICE: test_bufmgr unpin_block blkno 11 bufid 12
NOTICE: test_bufmgr unpin_block blkno 15 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 9
NOTICE: test_bufmgr read_pin_block blkno 7 bufid 11
NOTICE: test_bufmgr unpin_block blkno 7 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 8
NOTICE: test_bufmgr read_pin_block blkno 11 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 11
NOTICE: test_bufmgr unpin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 12
NOTICE: test_bufmgr unpin_block blkno 11 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 1 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 11
NOTICE: test_bufmgr unpin_block blkno 1 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 12
NOTICE: test_bufmgr read_pin_block blkno 1 bufid 8
NOTICE: test_bufmgr unpin_block blkno 1 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 7
NOTICE: test_bufmgr read_pin_block blkno 16 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 11
NOTICE: test_bufmgr unpin_block blkno 16 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 20 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 9
NOTICE: test_bufmgr unpin_block blkno 20 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 8
NOTICE: test_bufmgr read_pin_block blkno 0 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 8
NOTICE: test_bufmgr unpin_block blkno 0 bufid 11
NOTICE: test_bufmgr read_pin_block blkno 7 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 14
NOTICE: test_bufmgr unpin_block blkno 7 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 9
NOTICE: test_bufmgr read_pin_block blkno 19 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 9
NOTICE: test_bufmgr unpin_block blkno 19 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 11
NOTICE: test_bufmgr read_pin_block blkno 0 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 13
NOTICE: test_bufmgr unpin_block blkno 30 bufid 0
NOTICE: test_bufmgr unpin_block blkno 31 bufid 1
NOTICE: test_bufmgr unpin_block blkno 32 bufid 2
NOTICE: test_bufmgr unpin_block blkno 33 bufid 3
NOTICE: test_bufmgr unpin_block blkno 34 bufid 4
NOTICE: test_bufmgr unpin_block blkno 35 bufid 5
NOTICE: test_bufmgr unpin_block blkno 36 bufid 6
NOTICE: test_bufmgr unpin_block blkno 0 bufid 9

View File

@@ -0,0 +1,256 @@
NOTICE: test_bufmgr testcase movies 7
NOTICE: test_bufmgr read_pin_block blkno 30 bufid 0
NOTICE: test_bufmgr read_pin_block blkno 31 bufid 1
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 3
NOTICE: test_bufmgr read_pin_block blkno 10 bufid 10
NOTICE: test_bufmgr read_pin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 19 bufid 3
NOTICE: test_bufmgr unpin_block blkno 19 bufid 3
NOTICE: test_bufmgr read_pin_block blkno 15 bufid 15
NOTICE: test_bufmgr unpin_block blkno 10 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 4
NOTICE: test_bufmgr unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 5
NOTICE: test_bufmgr unpin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 3
NOTICE: test_bufmgr unpin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 3
NOTICE: test_bufmgr read_pin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 18 bufid 8
NOTICE: test_bufmgr read_pin_block blkno 11 bufid 12
NOTICE: test_bufmgr unpin_block blkno 11 bufid 12
NOTICE: test_bufmgr read_pin_block blkno 6 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 4
NOTICE: test_bufmgr unpin_block blkno 6 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 8 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 7
NOTICE: test_bufmgr unpin_block blkno 18 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 10
NOTICE: test_bufmgr read_pin_block blkno 16 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 5
NOTICE: test_bufmgr unpin_block blkno 16 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 0 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 14
NOTICE: test_bufmgr unpin_block blkno 8 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 9
NOTICE: test_bufmgr read_pin_block blkno 18 bufid 8
NOTICE: test_bufmgr unpin_block blkno 0 bufid 2
NOTICE: test_bufmgr read_pin_block blkno 9 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 13
NOTICE: test_bufmgr unpin_block blkno 18 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 19 bufid 3
NOTICE: test_bufmgr read_pin_block blkno 20 bufid 6
NOTICE: test_bufmgr read_pin_block blkno 4 bufid 4
NOTICE: test_bufmgr read_pin_block blkno 2 bufid 5
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 4
NOTICE: test_bufmgr unpin_block blkno 20 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 4
NOTICE: test_bufmgr unpin_block blkno 9 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 8
NOTICE: test_bufmgr unpin_block blkno 19 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 11
NOTICE: test_bufmgr read_pin_block blkno 14 bufid 14
NOTICE: test_bufmgr unpin_block blkno 4 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 5
NOTICE: test_bufmgr unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr unpin_block blkno 2 bufid 5
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 3
NOTICE: test_bufmgr read_pin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 3
NOTICE: test_bufmgr unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 5
NOTICE: test_bufmgr read_pin_block blkno 2 bufid 5
NOTICE: test_bufmgr unpin_block blkno 14 bufid 14
NOTICE: test_bufmgr unpin_block blkno 2 bufid 5
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 12
NOTICE: test_bufmgr read_pin_block blkno 2 bufid 5
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 11
NOTICE: test_bufmgr read_pin_block blkno 12 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 6
NOTICE: test_bufmgr unpin_block blkno 12 bufid 12
NOTICE: test_bufmgr read_pin_block blkno 16 bufid 7
NOTICE: test_bufmgr read_pin_block blkno 5 bufid 12
NOTICE: test_bufmgr unpin_block blkno 16 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 3
NOTICE: test_bufmgr read_pin_block blkno 11 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 8
NOTICE: test_bufmgr read_pin_block blkno 20 bufid 6
NOTICE: test_bufmgr unpin_block blkno 2 bufid 5
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 8
NOTICE: test_bufmgr unpin_block blkno 11 bufid 11
NOTICE: test_bufmgr read_pin_block blkno 0 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 6
NOTICE: test_bufmgr read_pin_block blkno 1 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr unpin_block blkno 20 bufid 6
NOTICE: test_bufmgr unpin_block blkno 1 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 6
NOTICE: test_bufmgr unpin_block blkno 5 bufid 12
NOTICE: test_bufmgr unpin_block blkno 0 bufid 2
NOTICE: test_bufmgr read_pin_block blkno 3 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 12 bufid 8
NOTICE: test_bufmgr read_pin_block blkno 8 bufid 9
NOTICE: test_bufmgr unpin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 11 bufid 11
NOTICE: test_bufmgr read_pin_block blkno 12 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 5
NOTICE: test_bufmgr unpin_block blkno 11 bufid 11
NOTICE: test_bufmgr unpin_block blkno 12 bufid 8
NOTICE: test_bufmgr read_pin_block blkno 4 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 14
NOTICE: test_bufmgr unpin_block blkno 3 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 15
NOTICE: test_bufmgr unpin_block blkno 4 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 7 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 18 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 11
NOTICE: test_bufmgr unpin_block blkno 7 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 4 bufid 4
NOTICE: test_bufmgr unpin_block blkno 12 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 5
NOTICE: test_bufmgr unpin_block blkno 18 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 12
NOTICE: test_bufmgr unpin_block blkno 4 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 5
NOTICE: test_bufmgr read_pin_block blkno 3 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 10
NOTICE: test_bufmgr read_pin_block blkno 7 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 2
NOTICE: test_bufmgr unpin_block blkno 8 bufid 9
NOTICE: test_bufmgr unpin_block blkno 3 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 10
NOTICE: test_bufmgr read_pin_block blkno 7 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 2
NOTICE: test_bufmgr unpin_block blkno 7 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 9
NOTICE: test_bufmgr read_pin_block blkno 19 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 10 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 11
NOTICE: test_bufmgr unpin_block blkno 7 bufid 14
NOTICE: test_bufmgr unpin_block blkno 19 bufid 15
NOTICE: test_bufmgr unpin_block blkno 10 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 3
NOTICE: test_bufmgr read_pin_block blkno 1 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 7
NOTICE: test_bufmgr read_pin_block blkno 5 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 5
NOTICE: test_bufmgr read_pin_block blkno 20 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 13
NOTICE: test_bufmgr unpin_block blkno 1 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 10
NOTICE: test_bufmgr read_pin_block blkno 20 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 7
NOTICE: test_bufmgr unpin_block blkno 5 bufid 11
NOTICE: test_bufmgr read_pin_block blkno 8 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 5
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 4
NOTICE: test_bufmgr unpin_block blkno 20 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 4 bufid 4
NOTICE: test_bufmgr read_pin_block blkno 19 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 11
NOTICE: test_bufmgr unpin_block blkno 4 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 6
NOTICE: test_bufmgr unpin_block blkno 20 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 7
NOTICE: test_bufmgr unpin_block blkno 19 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 12
NOTICE: test_bufmgr unpin_block blkno 30 bufid 0
NOTICE: test_bufmgr unpin_block blkno 31 bufid 1
NOTICE: test_bufmgr unpin_block blkno 8 bufid 9

View File

@@ -0,0 +1,274 @@
NOTICE: test_bufmgr testcase movies 8
NOTICE: test_bufmgr read_pin_block blkno 30 bufid 0
NOTICE: test_bufmgr read_pin_block blkno 31 bufid 1
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 2
NOTICE: test_bufmgr read_pin_block blkno 12 bufid 12
NOTICE: test_bufmgr unpin_block blkno 12 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 5
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 8
NOTICE: test_bufmgr read_pin_block blkno 4 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 11
NOTICE: test_bufmgr read_pin_block blkno 13 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 16 bufid 7
NOTICE: test_bufmgr unpin_block blkno 13 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 4 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 2
NOTICE: test_bufmgr read_pin_block blkno 6 bufid 6
NOTICE: test_bufmgr read_pin_block blkno 11 bufid 14
NOTICE: test_bufmgr unpin_block blkno 4 bufid 4
NOTICE: test_bufmgr unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 13 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 7
NOTICE: test_bufmgr read_pin_block blkno 1 bufid 5
NOTICE: test_bufmgr unpin_block blkno 13 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 15
NOTICE: test_bufmgr unpin_block blkno 1 bufid 5
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 2
NOTICE: test_bufmgr unpin_block blkno 16 bufid 7
NOTICE: test_bufmgr unpin_block blkno 6 bufid 6
NOTICE: test_bufmgr read_pin_block blkno 4 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 2
NOTICE: test_bufmgr unpin_block blkno 4 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 5
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 3
NOTICE: test_bufmgr read_pin_block blkno 4 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 10
NOTICE: test_bufmgr unpin_block blkno 4 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 2
NOTICE: test_bufmgr read_pin_block blkno 5 bufid 8
NOTICE: test_bufmgr read_pin_block blkno 4 bufid 4
NOTICE: test_bufmgr read_pin_block blkno 3 bufid 10
NOTICE: test_bufmgr unpin_block blkno 4 bufid 4
NOTICE: test_bufmgr read_pin_block blkno 16 bufid 7
NOTICE: test_bufmgr unpin_block blkno 5 bufid 8
NOTICE: test_bufmgr read_pin_block blkno 3 bufid 10
NOTICE: test_bufmgr unpin_block blkno 4 bufid 4
NOTICE: test_bufmgr unpin_block blkno 3 bufid 10
NOTICE: test_bufmgr unpin_block blkno 16 bufid 7
NOTICE: test_bufmgr unpin_block blkno 3 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 3 bufid 10
NOTICE: test_bufmgr read_pin_block blkno 18 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 11
NOTICE: test_bufmgr read_pin_block blkno 8 bufid 12
NOTICE: test_bufmgr read_pin_block blkno 11 bufid 14
NOTICE: test_bufmgr unpin_block blkno 18 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 9 bufid 11
NOTICE: test_bufmgr read_pin_block blkno 4 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 10
NOTICE: test_bufmgr unpin_block blkno 3 bufid 10
NOTICE: test_bufmgr unpin_block blkno 9 bufid 11
NOTICE: test_bufmgr read_pin_block blkno 10 bufid 3
NOTICE: test_bufmgr read_pin_block blkno 7 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 5
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 12
NOTICE: test_bufmgr unpin_block blkno 8 bufid 12
NOTICE: test_bufmgr unpin_block blkno 7 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 15
NOTICE: test_bufmgr unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr unpin_block blkno 4 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 3
NOTICE: test_bufmgr read_pin_block blkno 18 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 12
NOTICE: test_bufmgr read_pin_block blkno 8 bufid 12
NOTICE: test_bufmgr read_pin_block blkno 0 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 5
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 5
NOTICE: test_bufmgr unpin_block blkno 10 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 2
NOTICE: test_bufmgr unpin_block blkno 18 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 2
NOTICE: test_bufmgr unpin_block blkno 8 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 7
NOTICE: test_bufmgr unpin_block blkno 0 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 3
NOTICE: test_bufmgr read_pin_block blkno 5 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 8
NOTICE: test_bufmgr read_pin_block blkno 1 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 6
NOTICE: test_bufmgr unpin_block blkno 5 bufid 9
NOTICE: test_bufmgr unpin_block blkno 1 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 5
NOTICE: test_bufmgr read_pin_block blkno 10 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 7
NOTICE: test_bufmgr read_pin_block blkno 12 bufid 2
NOTICE: test_bufmgr unpin_block blkno 10 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 3
NOTICE: test_bufmgr read_pin_block blkno 17 bufid 5
NOTICE: test_bufmgr read_pin_block blkno 6 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 0 bufid 8
NOTICE: test_bufmgr read_pin_block blkno 2 bufid 10
NOTICE: test_bufmgr unpin_block blkno 12 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 4
NOTICE: test_bufmgr unpin_block blkno 6 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 6
NOTICE: test_bufmgr read_pin_block blkno 14 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 14
NOTICE: test_bufmgr unpin_block blkno 0 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 14 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 10
NOTICE: test_bufmgr unpin_block blkno 14 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 14 bufid 7
NOTICE: test_bufmgr unpin_block blkno 2 bufid 10
NOTICE: test_bufmgr unpin_block blkno 14 bufid 7
NOTICE: test_bufmgr read_pin_block blkno 15 bufid 12
NOTICE: test_bufmgr read_pin_block blkno 14 bufid 7
NOTICE: test_bufmgr read_pin_block blkno 2 bufid 10
NOTICE: test_bufmgr read_pin_block blkno 19 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 14
NOTICE: test_bufmgr unpin_block blkno 17 bufid 5
NOTICE: test_bufmgr read_pin_block blkno 18 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 11
NOTICE: test_bufmgr unpin_block blkno 14 bufid 7
NOTICE: test_bufmgr unpin_block blkno 18 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 1 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 13
NOTICE: test_bufmgr unpin_block blkno 19 bufid 9
NOTICE: test_bufmgr read_pin_block blkno 11 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 4
NOTICE: test_bufmgr unpin_block blkno 2 bufid 10
NOTICE: test_bufmgr read_pin_block blkno 2 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 10
NOTICE: test_bufmgr unpin_block blkno 14 bufid 7
NOTICE: test_bufmgr read_pin_block blkno 4 bufid 8
NOTICE: test_bufmgr read_pin_block blkno 6 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 6
NOTICE: test_bufmgr unpin_block blkno 4 bufid 8
NOTICE: test_bufmgr read_pin_block blkno 20 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 17 bufid 5
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 4
NOTICE: test_bufmgr unpin_block blkno 11 bufid 3
NOTICE: test_bufmgr read_pin_block blkno 3 bufid 13
NOTICE: test_bufmgr unpin_block blkno 6 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 5
NOTICE: test_bufmgr unpin_block blkno 20 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 4 bufid 8
NOTICE: test_bufmgr unpin_block blkno 2 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 8
NOTICE: test_bufmgr unpin_block blkno 1 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 10 bufid 6
NOTICE: test_bufmgr unpin_block blkno 4 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 14
NOTICE: test_bufmgr unpin_block blkno 3 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 0 bufid 2
NOTICE: test_bufmgr unpin_block blkno 17 bufid 5
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 12 bufid 15
NOTICE: test_bufmgr unpin_block blkno 15 bufid 12
NOTICE: test_bufmgr read_pin_block blkno 7 bufid 4
NOTICE: test_bufmgr read_pin_block blkno 0 bufid 2
NOTICE: test_bufmgr unpin_block blkno 7 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 9
NOTICE: test_bufmgr unpin_block blkno 12 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 2
NOTICE: test_bufmgr unpin_block blkno 10 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 4
NOTICE: test_bufmgr read_pin_block blkno 13 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 5
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 13
NOTICE: test_bufmgr unpin_block blkno 0 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 15
NOTICE: test_bufmgr unpin_block blkno 13 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 12
NOTICE: test_bufmgr read_pin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 4
NOTICE: test_bufmgr read_pin_block blkno 15 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 10
NOTICE: test_bufmgr read_pin_block blkno 7 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 2
NOTICE: test_bufmgr unpin_block blkno 7 bufid 4
NOTICE: test_bufmgr read_pin_block blkno 13 bufid 9
NOTICE: test_bufmgr unpin_block blkno 15 bufid 8
NOTICE: test_bufmgr read_pin_block blkno 7 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 12
NOTICE: test_bufmgr unpin_block blkno 7 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 8
NOTICE: test_bufmgr unpin_block blkno 0 bufid 2
NOTICE: test_bufmgr unpin_block blkno 5 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 2
NOTICE: test_bufmgr unpin_block blkno 13 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 2
NOTICE: test_bufmgr read_pin_block blkno 13 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 10
NOTICE: test_bufmgr read_pin_block blkno 20 bufid 7
NOTICE: test_bufmgr unpin_block blkno 20 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 13
NOTICE: test_bufmgr unpin_block blkno 13 bufid 9
NOTICE: test_bufmgr read_pin_block blkno 10 bufid 6
NOTICE: test_bufmgr read_pin_block blkno 0 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 7
NOTICE: test_bufmgr unpin_block blkno 10 bufid 6
NOTICE: test_bufmgr read_pin_block blkno 13 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 12
NOTICE: test_bufmgr read_pin_block blkno 9 bufid 3
NOTICE: test_bufmgr unpin_block blkno 13 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 10
NOTICE: test_bufmgr unpin_block blkno 0 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 11
NOTICE: test_bufmgr unpin_block blkno 30 bufid 0
NOTICE: test_bufmgr unpin_block blkno 31 bufid 1
NOTICE: test_bufmgr unpin_block blkno 9 bufid 3

View File

@@ -0,0 +1,269 @@
NOTICE: test_bufmgr testcase movies 9
NOTICE: test_bufmgr read_pin_block blkno 30 bufid 0
NOTICE: test_bufmgr read_pin_block blkno 31 bufid 1
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 11
NOTICE: test_bufmgr read_pin_block blkno 5 bufid 5
NOTICE: test_bufmgr unpin_block blkno 5 bufid 5
NOTICE: test_bufmgr read_pin_block blkno 0 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 5
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 20 bufid 4
NOTICE: test_bufmgr unpin_block blkno 20 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 5
NOTICE: test_bufmgr read_pin_block blkno 15 bufid 15
NOTICE: test_bufmgr unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 6
NOTICE: test_bufmgr read_pin_block blkno 4 bufid 7
NOTICE: test_bufmgr unpin_block blkno 4 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 12
NOTICE: test_bufmgr unpin_block blkno 0 bufid 3
NOTICE: test_bufmgr read_pin_block blkno 10 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 2
NOTICE: test_bufmgr unpin_block blkno 10 bufid 10
NOTICE: test_bufmgr read_pin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 2
NOTICE: test_bufmgr read_pin_block blkno 4 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 9
NOTICE: test_bufmgr unpin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 4
NOTICE: test_bufmgr read_pin_block blkno 20 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 12
NOTICE: test_bufmgr read_pin_block blkno 17 bufid 4
NOTICE: test_bufmgr read_pin_block blkno 16 bufid 12
NOTICE: test_bufmgr read_pin_block blkno 16 bufid 12
NOTICE: test_bufmgr unpin_block blkno 20 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 3
NOTICE: test_bufmgr read_pin_block blkno 8 bufid 8
NOTICE: test_bufmgr unpin_block blkno 17 bufid 4
NOTICE: test_bufmgr unpin_block blkno 16 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 4
NOTICE: test_bufmgr unpin_block blkno 8 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 4
NOTICE: test_bufmgr unpin_block blkno 4 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 3
NOTICE: test_bufmgr unpin_block blkno 16 bufid 12
NOTICE: test_bufmgr read_pin_block blkno 6 bufid 9
NOTICE: test_bufmgr read_pin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 0 bufid 5
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 8
NOTICE: test_bufmgr unpin_block blkno 0 bufid 5
NOTICE: test_bufmgr read_pin_block blkno 7 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 9 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 6
NOTICE: test_bufmgr read_pin_block blkno 13 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 5
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 16 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 7
NOTICE: test_bufmgr unpin_block blkno 13 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 2
NOTICE: test_bufmgr unpin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 13 bufid 4
NOTICE: test_bufmgr unpin_block blkno 13 bufid 4
NOTICE: test_bufmgr read_pin_block blkno 12 bufid 5
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 6
NOTICE: test_bufmgr unpin_block blkno 6 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 11 bufid 11
NOTICE: test_bufmgr read_pin_block blkno 5 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 11 bufid 11
NOTICE: test_bufmgr unpin_block blkno 7 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 9
NOTICE: test_bufmgr read_pin_block blkno 10 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr unpin_block blkno 9 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 4
NOTICE: test_bufmgr unpin_block blkno 11 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 19 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 10
NOTICE: test_bufmgr unpin_block blkno 5 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 2
NOTICE: test_bufmgr unpin_block blkno 11 bufid 11
NOTICE: test_bufmgr read_pin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 7
NOTICE: test_bufmgr unpin_block blkno 12 bufid 5
NOTICE: test_bufmgr unpin_block blkno 14 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 12 bufid 5
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 3
NOTICE: test_bufmgr read_pin_block blkno 18 bufid 12
NOTICE: test_bufmgr unpin_block blkno 19 bufid 10
NOTICE: test_bufmgr read_pin_block blkno 6 bufid 9
NOTICE: test_bufmgr unpin_block blkno 18 bufid 12
NOTICE: test_bufmgr unpin_block blkno 6 bufid 9
NOTICE: test_bufmgr read_pin_block blkno 5 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 8
NOTICE: test_bufmgr read_pin_block blkno 10 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 2
NOTICE: test_bufmgr unpin_block blkno 12 bufid 5
NOTICE: test_bufmgr read_pin_block blkno 6 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 12
NOTICE: test_bufmgr read_pin_block blkno 12 bufid 5
NOTICE: test_bufmgr unpin_block blkno 10 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 10
NOTICE: test_bufmgr read_pin_block blkno 19 bufid 10
NOTICE: test_bufmgr read_pin_block blkno 3 bufid 4
NOTICE: test_bufmgr unpin_block blkno 12 bufid 5
NOTICE: test_bufmgr read_unpin_block blkno 13 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 3
NOTICE: test_bufmgr unpin_block blkno 3 bufid 4
NOTICE: test_bufmgr read_pin_block blkno 19 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 11
NOTICE: test_bufmgr read_pin_block blkno 17 bufid 3
NOTICE: test_bufmgr read_pin_block blkno 15 bufid 15
NOTICE: test_bufmgr unpin_block blkno 6 bufid 9
NOTICE: test_bufmgr unpin_block blkno 19 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 10
NOTICE: test_bufmgr unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 10 bufid 13
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 2
NOTICE: test_bufmgr unpin_block blkno 19 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 12
NOTICE: test_bufmgr unpin_block blkno 10 bufid 13
NOTICE: test_bufmgr read_pin_block blkno 5 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 4
NOTICE: test_bufmgr read_pin_block blkno 0 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 6
NOTICE: test_bufmgr unpin_block blkno 5 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 7
NOTICE: test_bufmgr read_pin_block blkno 6 bufid 9
NOTICE: test_bufmgr unpin_block blkno 0 bufid 11
NOTICE: test_bufmgr read_pin_block blkno 12 bufid 5
NOTICE: test_bufmgr read_pin_block blkno 18 bufid 8
NOTICE: test_bufmgr read_pin_block blkno 12 bufid 5
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 7
NOTICE: test_bufmgr unpin_block blkno 12 bufid 5
NOTICE: test_bufmgr read_unpin_block blkno 18 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 10
NOTICE: test_bufmgr unpin_block blkno 6 bufid 9
NOTICE: test_bufmgr read_pin_block blkno 2 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 6
NOTICE: test_bufmgr unpin_block blkno 18 bufid 8
NOTICE: test_bufmgr read_pin_block blkno 16 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 11
NOTICE: test_bufmgr unpin_block blkno 16 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 10
NOTICE: test_bufmgr read_pin_block blkno 17 bufid 3
NOTICE: test_bufmgr unpin_block blkno 5 bufid 6
NOTICE: test_bufmgr unpin_block blkno 12 bufid 5
NOTICE: test_bufmgr read_unpin_block blkno 7 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 9 bufid 2
NOTICE: test_bufmgr unpin_block blkno 17 bufid 3
NOTICE: test_bufmgr read_pin_block blkno 14 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 5
NOTICE: test_bufmgr unpin_block blkno 14 bufid 12
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 7
NOTICE: test_bufmgr read_pin_block blkno 14 bufid 12
NOTICE: test_bufmgr read_pin_block blkno 17 bufid 3
NOTICE: test_bufmgr unpin_block blkno 9 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 11
NOTICE: test_bufmgr read_pin_block blkno 9 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 5
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 3
NOTICE: test_bufmgr unpin_block blkno 17 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 4
NOTICE: test_bufmgr unpin_block blkno 17 bufid 3
NOTICE: test_bufmgr read_pin_block blkno 17 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 2
NOTICE: test_bufmgr read_pin_block blkno 6 bufid 9
NOTICE: test_bufmgr unpin_block blkno 14 bufid 12
NOTICE: test_bufmgr unpin_block blkno 6 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 7
NOTICE: test_bufmgr unpin_block blkno 9 bufid 2
NOTICE: test_bufmgr unpin_block blkno 17 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 5 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 3
NOTICE: test_bufmgr read_pin_block blkno 9 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 3
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 6 bufid 9
NOTICE: test_bufmgr read_unpin_block blkno 12 bufid 5
NOTICE: test_bufmgr read_pin_block blkno 9 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 0 bufid 14
NOTICE: test_bufmgr read_pin_block blkno 3 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 19 bufid 10
NOTICE: test_bufmgr read_pin_block blkno 13 bufid 12
NOTICE: test_bufmgr read_pin_block blkno 20 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 11
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 8 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 2 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 20 bufid 11
NOTICE: test_bufmgr unpin_block blkno 9 bufid 2
NOTICE: test_bufmgr read_pin_block blkno 5 bufid 6
NOTICE: test_bufmgr unpin_block blkno 5 bufid 6
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr read_unpin_block blkno 17 bufid 3
NOTICE: test_bufmgr read_pin_block blkno 12 bufid 5
NOTICE: test_bufmgr unpin_block blkno 3 bufid 8
NOTICE: test_bufmgr read_unpin_block blkno 9 bufid 2
NOTICE: test_bufmgr unpin_block blkno 9 bufid 2
NOTICE: test_bufmgr read_unpin_block blkno 15 bufid 15
NOTICE: test_bufmgr read_pin_block blkno 18 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 1 bufid 9
NOTICE: test_bufmgr unpin_block blkno 18 bufid 7
NOTICE: test_bufmgr read_unpin_block blkno 3 bufid 8
NOTICE: test_bufmgr read_pin_block blkno 19 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr unpin_block blkno 19 bufid 10
NOTICE: test_bufmgr read_unpin_block blkno 11 bufid 14
NOTICE: test_bufmgr unpin_block blkno 2 bufid 4
NOTICE: test_bufmgr read_unpin_block blkno 4 bufid 13
NOTICE: test_bufmgr unpin_block blkno 30 bufid 0
NOTICE: test_bufmgr unpin_block blkno 31 bufid 1
NOTICE: test_bufmgr unpin_block blkno 12 bufid 5
NOTICE: test_bufmgr unpin_block blkno 13 bufid 12
NOTICE: test_bufmgr unpin_block blkno 20 bufid 11

BIN
st2334/cheatsheet.pdf Normal file

Binary file not shown.

98
st2334/cheatsheet.typ Normal file
View File

@@ -0,0 +1,98 @@
#import "@preview/cram-snap:0.2.2": *
#set page(paper: "a4", flipped: false, margin: 0.5cm)
#set text(size: 11pt)
#show: cram-snap.with(
column-number: 2,
)
- *Mututally Exclusive* - $A inter B = emptyset$
- $(A inter B)' = (A' union B')$
- *Multiplication* - R experiments performed sequentially. Then $n_i dot ... dot n_r$ possible outcomes for $r$ experiments
- *Addition* - $e$ can be performed $k$ ways, and $k$ ways do not overlap : total ways: $n_1 + ... + n_k$
- *Permutation* - Arrangement of $r$ objects out of $n$, _ordered_. $P^n_r = n!/(n-r)!, P^n_n = n!$
- *Combination* - Selection of $r$ objects out of $n$, _unordered_ $vec(n, r) = n!/(r!(n-r)!), vec(n, r) times P^r_r = P^n_r$
== Probability
- Axioms:
+ $0 <=P(A) <= 1$
+ $P(S) = 1$
- Propositions:
+ $P(emptyset) = 0$
+ $A_1 ... A_n$ are mutually exclusive,$P(A_1 union ... union A_n) = P(A_1) + ... + P(A_n)$
+ $P(A') = 1-P(A)$
+ $P(A) = P(A inter B) + P(A inter B')$
+ $P(A union B) = P(A) + P(B) - P(A inter B)$
+ If $A subset B, P(A) <= P(B)$
== Conditional Probability
- $P(B|A)$ is probability of $B$ given that $A$ has occured
- $P(B|A) = P(A inter B) / P(A), P(A inter B) = P(B|A)P(A)$
- $P(A|B) = (P(A)P(B|A)) / P(B)$
- $P(A inter B inter C) = P(A)P(B|A)P(C|B inter A)$
- *Independent* - $P(A inter B) = P(A)P(B), A perp B$
- If $P(A) != 0, A perp B arrow.l.r P(B|A) = P(B)$ (Knowledge of $A$ does not change $B$)
- Partition - $A_i...A_n$ is mutually exclusive and $union.big^n_i=1 A_i = S, A_i...A_n$ is partition of S
- $P(B) = sum^n_(i=1) P(B inter A_i) = sum^n_(i=1) P(A_i)P(B|A_i)$
- $n = 2, P(B) = P(A)P(B|A) + P(A')P(B|A')$
- *Bayes Theorem* - $P(A_k|B) = (P(A_k)P(B|A_k)) / (sum^n_(i=1)P(A_i)P(B|A_i))$
- $n = 2, P(A|B) = (P(A)P(B|A)) / (P(A)P(B|A) + P(A')P(B|A'))$
== Random Variables
- PMF of $X - f(x) = cases(P(X=x) "if" x in R_X, 0 "otherwise")$
- Properties (*must* satisfy)
+ $f(x_i) >= 0, x_i in R_X$
+ $f(x_i) = 0, x_i in.not R_X$
+ $sum^infinity_(i=1)f(x_i) = 1$
- PDF of $X$ is function that satisfies the following
+ $f(x) >= 0, x in R_X "and" f(x) = 0, x in.not R_X$
+ $integral_R_X f(x) dif x = 1$
+ $a <= b, P(a <= X <= b) = integral^b_a f(x) dif x$
- To validate, check (1) and (2)
- CDF (Discrete) - $F(X) = P(X <=x)$
- $P(a<=X<=b) = P(X<=b) - P(X<a) = F(b) - F(a-), a-$ (is largest value in $R_X$ smaller than $a$)
- CDF(Continuous) - $F(X) = integral^x_(-infinity)f(t)dif t, f(x) = dif/(dif t) F(x)$
- $P(a<=X<=b) = F(b) - F(a)$
- $F(x)$ is non-decreasing.
- PDF/PMF and CDF have 1 to 1 correspondence.
- Ranges of $F(x)$ and $f(x)$ satisfy:
- $0 <= F(X) <= 1$
- for discrete: $0 <= f(X) <= 1$
- for continuous: $f(x) >= 0$, not necessary $f(x) <= 1$
- Expectation(Discrete): $E(X) = mu_X = sum_(x_i in R_X) x_i f(x_i)$
- Expectation(Continuous): $E(X) = mu_X = integral^(infinity)_(-infinity)x_i f(x_i)$
+ $E(a X + b) = a E(X) + b$
+ $E(X + Y) = E(X) + E(Y)$
+ Let $g(dot)$ be arbitrary function.
- $E[g(X)] = sum g(x)f(x)$
- example - $E(X^2) = sum x^2f(x)$
- $E[g(X)] = integral_R_X g(x)f(x)$
- Variance - $sigma^2_x = V(X) = E(X - mu)^2$
- Discrete - $V(X) = sum (x-mu_x)^2 f(x)$
- Continuous - $V(X) = integral^(infinity)_(-infinity) (x-mu_x)^2 f(x)$
- Properties
+ $V(a X + b) = a^2V(X)$
+ $V(X) = E(X^2) - E(X)^2$
+ Standard Deviation = $sigma_x = sqrt(V(X))$
== Joint Distribution
- Discrete - $f_(X, Y)(x,y) = P(X = x, Y = y)$
+ $f(X,Y)(x, y) >= 0, (x, y) in R_(X,Y)$
+ $f(X,Y)(x, y) = 0, (x, y) in.not R_(X,Y)$
+ $sum^infinity_(i=1)sum^infinity_(j=1)(x_i,y_i) = 1$
- Continuous - $P((X, Y) in D) = integral.double_((x, y) in D) f(x,y) dif y dif x$
- $P(a<=X<=b, c<=Y<=d) = integral^b_a integral^d_c f(x, y) dif y dif x$
+ $f_(X,Y)(x, y) >= 0$, for any $(x,y) in R_(X,Y)$
+ $f_(X,Y)(x, y) = 0$, for any $(x,y) in.not R_(X,Y)$
+ $integral^infinity_(-infinity)integral^infinity_(-infinity)f_(X,Y)(x, y) dif x dif y= 1$
- Marginal Probability Distribution
- Discrete - $f_X (x) = sum_y f_(X,Y)(x,y)$
- Continuous - $f_X (x) =integral^infinity_(-infinity) f_(X,Y)(x,y) dif y$
- Conditional Distribution - $f_(Y|X) (y|x) = (f_(X,Y)(x,y)) / (f_X (x))$
- If $f_X (x) > 0, f_(X,Y)(x,y) = f_X (x) f_(Y|X) (y|x)$
- $P(Y <= y | X = x) = integral^y_(-infinity) f_(Y|X)(y|x) dif y$
- $E(Y | X = x) = integral^infinity_(-infinity) y f_(Y|X)(y|x) dif y$

View File

@@ -63,3 +63,4 @@ Probability, $P(dot)$ is a function on the collection of events in the sample sp
- $P(A) = P(A inter B) + P(A inter B')$
- $P(A union B) = P(A) + P(B) - P(A inter B)$
- $A subset B$, then $P(A) lt.eq P(B)$