diff -cpr HEAD/src/backend/storage/buffer/bufmgr.c NDirectFileReadWrite/src/backend/storage/buffer/bufmgr.c *** HEAD/src/backend/storage/buffer/bufmgr.c Fri Aug 1 22:16:08 2008 --- NDirectFileReadWrite/src/backend/storage/buffer/bufmgr.c Tue Aug 5 15:00:26 2008 *************** int bgwriter_lru_maxpages = 100; *** 65,73 **** double bgwriter_lru_multiplier = 2.0; ! long NDirectFileRead; /* some I/O's are direct file access. bypass ! * bufmgr */ ! long NDirectFileWrite; /* e.g., I/O in psort and hashjoin. */ /* local state for StartBufferIO and related functions */ --- 65,76 ---- double bgwriter_lru_multiplier = 2.0; ! /* ! * Some I/O's are direct file access and bypass bufmgr. They are typically ! * disk sorting and materializing using BufFile. ! */ ! long NDirectFileRead; ! long NDirectFileWrite; /* local state for StartBufferIO and related functions */ diff -cpr HEAD/src/backend/storage/file/buffile.c NDirectFileReadWrite/src/backend/storage/file/buffile.c *** HEAD/src/backend/storage/file/buffile.c Fri May 2 10:08:27 2008 --- NDirectFileReadWrite/src/backend/storage/file/buffile.c Tue Aug 5 15:00:26 2008 *************** BufFileLoadBuffer(BufFile *file) *** 238,243 **** --- 238,244 ---- file->nbytes = 0; file->offsets[file->curFile] += file->nbytes; /* we choose not to advance curOffset here */ + NDirectFileRead++; } /* *************** BufFileDumpBuffer(BufFile *file) *** 300,305 **** --- 301,307 ---- file->offsets[file->curFile] += bytestowrite; file->curOffset += bytestowrite; wpos += bytestowrite; + NDirectFileWrite++; } file->dirty = false; diff -cpr HEAD/src/include/executor/execdebug.h NDirectFileReadWrite/src/include/executor/execdebug.h *** HEAD/src/include/executor/execdebug.h Wed Jan 2 04:45:57 2008 --- NDirectFileReadWrite/src/include/executor/execdebug.h Tue Aug 5 15:00:26 2008 *************** extern int NIndexTupleInserted; *** 190,208 **** #define MJ_DEBUG_PROC_NODE(slot) #endif /* EXEC_MERGEJOINDEBUG */ - /* ---------------------------------------------------------------- - * DO NOT DEFINE THESE EVER OR YOU WILL BURN! - * ---------------------------------------------------------------- - */ - /* ---------------- - * NOTYET is placed around any code not yet implemented - * in the executor. Only remove these when actually implementing - * said code. - * ---------------- - */ - #undef NOTYET - - extern long NDirectFileRead; - extern long NDirectFileWrite; - #endif /* ExecDebugIncluded */ --- 190,193 ---- diff -cpr HEAD/src/include/storage/buffile.h NDirectFileReadWrite/src/include/storage/buffile.h *** HEAD/src/include/storage/buffile.h Tue Mar 11 05:06:27 2008 --- NDirectFileReadWrite/src/include/storage/buffile.h Tue Aug 5 15:00:26 2008 *************** *** 30,35 **** --- 30,39 ---- typedef struct BufFile BufFile; + /* event counters in buffile.c */ + extern long NDirectFileRead; + extern long NDirectFileWrite; + /* * prototypes for functions in buffile.c */